博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
温故而知新 clone
阅读量:6538 次
发布时间:2019-06-24

本文共 565 字,大约阅读时间需要 1 分钟。

浅复制(浅克隆)

      被复制对象所有变量都含有与原来对象的相同值,对象中对其他对象的引用仍然指向原来的对象,换言之,复制对象只复制考虑的对象,而不复制所引用的对象。继承自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接口。

转载于:https://my.oschina.net/u/2958/blog/704184

你可能感兴趣的文章