温故而知新 clone

Posted 倔强中前行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了温故而知新 clone相关的知识,希望对你有一定的参考价值。

浅复制(浅克隆)

      被复制对象所有变量都含有与原来对象的相同值,对象中对其他对象的引用仍然指向原来的对象,换言之,复制对象只复制考虑的对象,而不复制所引用的对象。继承自java.lang.Object类的clone()方法是浅复制

深复制(深克隆)

被复制对象所有变量都含有与原来对象的相同值,那些引用其他对象的变量将指向被复制的新对象,而不是原有对象的引用。

Java的clone()方法

  1. clone方法将对象复制了一份并返回给调用者。一般而言,clone()方法满足:
  2. 对任何的对象x,都有x.clone() !=x//克隆对象与原对象不是同一个对象
  3. 对任何的对象x,都有x.clone().getClass()= =x.getClass()//克隆对象与原对象的类型一样
  4. 如果对象x的equals()方法定义恰当,那么x.clone().equals(x)应该成立。

Java中对象的克隆

  1. 为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。
  2. 在派生类中覆盖基类的clone()方法,并声明为public。
  3. 在派生类的clone()方法中,调用super.clone()。
  4. 在派生类中实现Cloneable接口。

以上是关于温故而知新 clone的主要内容,如果未能解决你的问题,请参考以下文章

温故而知新:重新认识JavaScript的this

温故而知新汇总贴

重温HTML标签——温故而知新~~

温故而知新 - 重新认识JavaScript的Execution Context

温故而知新-String类

温故而知新MYSQL