您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
【第11章:Java常用类库】_对象克隆技术
发布时间:2020-12-25 14:33:01编辑:雪饮阅读()
对象克隆
clone方法用于对一个类进行克隆,但该方法默认是在一个类的父类中并且是private修饰的,所以一个类要想被克隆则需要覆写该方法并开放。另外一个类要想被克隆则需要实现Cloneable接口,实现Cloneable接口也即标识该类允许被克隆。这里说的类被克隆,其实更合理的叫法应该是该类的实例化对象被克隆。
//一个类实现Cloneable接口就表示该类可以被克隆
class Person implements Cloneable{
private String name;
private int age;
public Person(String name,int age){
this.name=name;
this.age=age;
}
//一个类可以被克隆则还需要该类提供clone方法,默认clone方法是private,所以被克隆的类需要覆写该方法
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
public String getName(){
return this.name;
}
public int getAge(){
return this.age;
}
}
public class Hello{
public static void main(String args[]) throws Exception{
Person p1=new Person("kasumi",24);
Person p2=(Person)p1.clone();
System.out.println(p1);
System.out.println(p2);
System.out.println(p1==p2);
System.out.println(p1.getName());
System.out.println(p1.getAge());
}
};
从结果看到对象克隆后引用地址不同,但是属性相同,这正好符合了理应的逻辑。
关键字词:java,对象克隆