面试之Java虚拟机专题
说下对象的创建方法?对象的内存布局?对象的访问定位? 四种不同的方法创建对象 1、用new语句创建对象,这是最常用的创建对象的方式; 2、调用对象的clone方法。 MyObject obj =new MyObject(); MyObject objs= obj.clone(); 使用clone方法克隆一个对象的步骤: 1)被克隆的类要实现Cloneable接口; 2)被克隆的类要重写clone方法; 1 class Obj implements Cloneable{ 2 private Date birth = new Date(); 3 public Date getBirth(){ 4 return birth; 5 } 6 public void setBirth(){ 7 this .birth= birth; 8 } 9 public void changeDate(){ 10 this .birth.setMonth(4 ); 11 } 12 public Object clone(){ 13 Obj o = null ; // o指向了复制后的新对象 14 try { 15 o=(Obj) super .clone(); // 实现浅复制 16 } catch (CloneNotSupportedException e){ 17 e