一、对象的创建
对象创建过程的流程图如下:
Java对象创建的4种方式:
[1] 通过 New 指令,调用 Constructor 创建;
[2] 通过 Object 的 clone 方法创建;
[3] 通过类的反射创建;
[4] 通过序列化方式创建;
下面分别实例讲述
【1】new语句创建
MyObject mo = new MyObject() ;
【2】clone方法创建对象
构造函数不被自动调用。
public class CreateInstance implements Cloneable{
public CreateInstance getInstance() throws CloneNotSupportedException{
return (CreateInstance) this.clone();
}
}
如果需要复制上面的那个obj指向的对象实例时,调用new CreateInstance().getInstance()方法就ok了。
但是为什么不直接使用new CreateInstance().clone()呢?
JDK中Object# clone()方法的原型是:protected native Object clone() throws CloneNotSupportedException; 方法修饰符是protected,而不是public。
这种访问的不可见性使得我们对Object#clone()方法不可见。所以,必需重写Object的clone方法后才能使用。