1、 用new语句创建对象,这是最常见的创建对象的方法。

2、 运用反射手段,调用java.lang.Class或者java.lang.reflect.Constructor类的newInstance()实例方法。

3、 调用对象的clone()方法。

4、运用反序列化手段,调用java.io.ObjectInputStream对象的 readObject()方法。

1和2都会明确的显式的调用构造函数 ;3是在内存上对已有对象的影印,所以不会调用构造函数 ;4是从文件中还原类的对象,也不会调用构造函数。