`
huanhuan1022
  • 浏览: 54586 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

关于复写clone

    博客分类:
  • java
阅读更多

1.最好使用super.clone而得到要复制的对象,而不是通过构造函数。

2.如果包含有可变对象域(除了原始类型),那么就不能只是简单的复制了。必须在调用完super.clone方法之后,对于可变对象域进行单独处理。

3.clone架构与引用可变对象的final域的正常用法是不相兼容的,所以可能有必要从某些域中去掉final修饰符

4.如同构造器一样,clone方法不应该再构造过程中,调用新对象中任何非final的方法。

5.如果你决定用线程安全的类实现Cloneable接口,要记得它的clone方法必须得到很好的同步。Object.clone方法没有同步,所以也必须编写同步的clone方法来调用super.clone

6.另一个实现对象拷贝的好方法是提供一个拷贝构造器或者拷贝工厂,比复写clone方法更具有灵活性。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics