为什么不重新new一个?道理很简单,目的是想要两个相同的对象,重新new一个还得自己重新赋值,太麻烦
如何克隆一个对象?...因为java本身无法直接对操作底层进行访问和操作,需要通过其他语言实现)
注释主要说明了3点:
克隆对象和原对象不是同一个对象,占用不同的内存地址
克隆对象和原对象应该具有相同的类型,但它不是强制性的...clone重写
如何实现克隆
在说实现前,得区分下浅克隆和深克隆
浅克隆:原对象和克隆对象不同,但对象内的成员引用相同
深克隆:原对象和克隆对象不同,且对象内的成员引用也不同
不同:不是同一个对象,所占内存地址不同...成员引用:类中为引用类型的成员
以图说明,更形象些
男孩比喻为一个类,电脑比喻为类中的成员引用
?...原对象和克隆对象不是同一对象,克隆对象内的值与原对象相同;对象内引用成员相等,说明只做了引用克隆,不同引用指向同一对象
//改变stu1类中成员的值
stu1.setName("小张");
stu1.setAge