猿教程 Logo

java 对象克隆

对象克隆是一种创建对象的精确副本的方法。 为此,Object类的clone()方法用于克隆对象。

java.lang.Cloneable接口必须由我们要创建其对象克隆的类实现。 如果我们不实现Cloneable接口,clone()方法生成CloneNotSupportedException。

clone()方法在Object类中定义。 clone()方法的语法如下:

protected Object clone() throws CloneNotSupportedException

为什么要使用clone()方法?

clone()方法保存用于创建对象的精确副本的额外处理任务。 如果我们使用new关键字执行它,它将需要执行大量的处理,这就是为什么我们使用对象克隆。


对象克隆的优点

少处理任务。


clone()方法示例(对象克隆)

让我们看看对象克隆的简单例子

相关实例:

class Student18 implements Cloneable{
int rollno;
String name;

Student18(int rollno,String name){
this.rollno=rollno;
this.name=name;
}

public Object clone()throws CloneNotSupportedException{
return super.clone();
}

public static void main(String args[]){
try{
Student18 s1=new Student18(101,"amit");

Student18 s2=(Student18)s1.clone();

System.out.println(s1.rollno+" "+s1.name);
System.out.println(s2.rollno+" "+s2.name);

}catch(CloneNotSupportedException c){}

}
}
Output:101 amit
       101 amit

从上面的例子可以看出,两个引用变量都有相同的值。 因此,clone()将对象的值复制到另一个对象。 因此,我们不需要编写显式代码将对象的值复制到另一个对象。

如果我们通过new关键字创建另一个对象并将另一个对象的值赋给这个对象,则需要对该对象进行大量处理。 所以为了节省额外的处理任务,我们使用clone()方法。


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Java/java-object-cloning.html