首先谢谢大家,兄弟我自认为理解clone()机制,
我的疑问是object.clone()是个早已写好的库对象的方法,
当我写的mytest.clone(mytest继承自object)调用super.clone()后super.clone()把我写的mytest类中我自己定义的变量进行按位复制, 那么object.clone()是如何知道我定义了什么变量呢?
难道java还有预知未来的特性???????
我的疑问是object.clone()是个早已写好的库对象的方法,
当我写的mytest.clone(mytest继承自object)调用super.clone()后super.clone()把我写的mytest类中我自己定义的变量进行按位复制, 那么object.clone()是如何知道我定义了什么变量呢?
难道java还有预知未来的特性???????
如果是基本类型的就直接cp值,
如果是类对象的就cp引用(也就是指针)
所以写自己的clone时,得注意是否要进行深cp
下载java SE的源代码
如你所愿的那样被复制下来。否则仅仅是浅度clone