java 实现对象的克隆
—-对象的克隆:
克隆:即对象完全一样的复制;
Object类提供方法:
protected Object clone() throws CloneNotSupportedException;
java中只有部分类的对象可以支持克隆;
如果希望克隆被克隆的对象,必须确定其类实现了Cloneable接口,该接口是标识接口,表示可被克隆;
—实例:
package com.mldn;
class Person implements Cloneable // 使具有可克隆能力
{
private String name;
public Person(String name)
{
this.name = name;
}
public Object clone() throws CloneNotSupportedException
{
return super.clone(); // 提升父类方法权限,protected — > public
}
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return this.name;
}
public String toString()
{
return “姓名:” + this.getName();
}
}
public class CloneDemo
{
public static void main(String[] args) throws CloneNotSupportedException
{
Person per1 = new Person(“张三”);
Object oper = per1.clone();
Person per2 = (Person)per1.clone(); // 对per1的克隆是Object型
per2.setName(“李四”);
System.out.println(“原型:” + per1);
System.out.println(“原型的克隆:” + oper);
System.out.println(“克隆自我更改:” + per2);
}
}
/*
administrator@xu-desktop:~$ javac -d . work/CloneDemo.java
administrator@xu-desktop:~$ java com.mldn.CloneDemo
原型:姓名:张三
原型的克隆:姓名:张三
克隆自我更改:姓名:李四
*/
声明: 除非转自他站(如有侵权,请联系处理)外,本文采用 BY-NC-SA 协议进行授权 | 嗅谱网
转载请注明:转自《java 实现对象的克隆》
本文地址:http://www.xiupu.net/archives-180.html
关注公众号:
微信赞赏
支付宝赞赏