分享

Java Cloneable()接口

 JerryJade 2015-12-08
Cloneable接口里的clone()方法是一种浅克隆。
它只克隆目标对象的所有成员变量值,并不会对引用类型的成员变量引用的对象进行克隆。
如果需要完全克隆一个对象,需要对方法再进行修改.
下面代码为一个浅克隆举例
class Address
{
String detail;
public Address(String detail){
this.detail = detail;
}
}
//实现克隆接口的类
class User implements Cloneable{
int age;
Address address;
public User(int age){
this.age = age;
address = new Address("SZ");
}
public User clone()throws CloneNotSupportedException{
return (User)super.clone();
}
}
public class Test{
public static void main(String args[])throwsCloneNotSipportException{
User u1 = new User(29);
User u2 = u1.clone();
System.out.println(u1==u2);//false
System.out.println(u1.address==u2.adress);//true
}
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多