最近敲代码时,在对象克隆上遇到了一些困惑,找到了两篇讲的非常详细和清楚的文章,放到这里作为记录。
记录一下新的理解
- 首先说明一个问题——为什么Java中有的接口没有实现任何方法?
在Java中没有实现方法的接口成为标识接口,标识接口仅作为一个表示的作用,用来表明实现它的类属于一个特定的类型。如Cloneable、Serializable等(就好比你看到车标就知道它是什么车一样) - clone的作用
要想复制出一个对象新的实例,需要用到clone()方法。clone()方法是Object类提供的,这个方法返回一个Object对象的复制(所以注意要强转)。通过clone()方法可以返回一个新的对象而不是一个引用。 - clone()方法的使用步骤
- 实现Cloneable接口。
- 在类中重写Object类的clone()方法。
- 再clone()方法中调用super.clone()。(注意此方法的返回值类型为Object)
- 把浅复制的引用指向原型对象新的克隆体。
《Java程序员面试笔试宝典》