Java对象克隆

Posted SXT

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java对象克隆相关的知识,希望对你有一定的参考价值。

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对象克隆的主要内容,如果未能解决你的问题,请参考以下文章

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段

第35题JAVA高级技术-对象克隆4(序列化与对象克隆)

如何使用持久性克隆 java 对象

JAVA面试题:对象拷贝

第33题JAVA高级技术-对象克隆2(浅克隆)