clone 对象克隆
由于 clone 在Object 中是受保护方法,该方法只能在父类和子类的内部使用。
所以若子类对象要在外部克隆自己,就要有自己的clone方法,该方法通过调用父类的clone方法完成克隆。
- Cloneable 接口 : 该接口仅是一个标志,不提供任何实际的作用,或者说仅可以作为判断类型使用
- done方法,这个方法是从 Object 类继承的
实现克隆需要的操作:
- 该对象实现 Cloneable 接口
-
重新定义 clone方法,并指定 public 访问修饰符。
浅拷贝:
深拷贝:
个人理解:
- 自己定义的clone方法与 Object 中的clone方法并没有继承上说的重写的关系,而仅仅是定义一个同名方法,并作为一项规范,使其在外部调用时仍调用同名方法即可以完成克隆,实际该方法内部是Object的 clone方法完成的操作。 同名方法还可以在使其子类中仍可以起作用。
java