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 )(代码片段