码迷,mamicode.com
首页 > 编程语言 > 详细

Java对象克隆

时间:2017-08-10 11:39:36      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:except   tar   new   对象   ast   syntax   ble   comm   protect   

Java不提供克隆(复制)对象的自动机制。克隆对象意味着逐位复制对象的内容。要支持克隆操作,请在类中实现clone()方法。Object类中的clone()方法的声明如下:

1
protected  Object clone()  throws   CloneNotSupportedException

clone()方法声明为protected。 因此,不能从客户端代码调用它。以下代码无效:

1
2
Object obj  = new Object();
Object clone = obj.clone(); // Error. Cannot  access protected clone() method

需要在类中声明clone()方法为public来克隆类的对象。
它的返回类型是Object。 这意味着将需要使用clone()方法转换返回值。
假设MyClass是可克隆的。 克隆代码将如下所示

1
2
MyClass mc  = new MyClass();
MyClass clone = (MyClass)mc.clone(); // Need to use  a  cast

Object类中的clone()方法会抛出CloneNotSupportedException。要调用clone()方法,需要将调用放在try-catch块中,或者重新抛出异常。

Java对象克隆

标签:except   tar   new   对象   ast   syntax   ble   comm   protect   

原文地址:http://www.cnblogs.com/hane/p/7338109.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!