对象克隆技术----Java类库
前言
对象克隆技术即通过实现Cloneable接口和覆写Object类的clone方法实现,达到复制一个新对象的效果,由于较为简单,所以直接上代码!
演示案例
package chapter_eleven;
class Person implements Cloneable{ //必须实现Cloneable接口才可以实现对象克隆技术
private String name;
public Person(){}
public Person(String name) { //构造方法
this.name = name;
}
//setter和getter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
protected Object clone() throws CloneNotSupportedException { //覆写clone()方法,进行对象克隆
return super.clone();
}
@Override
public String toString() { //覆写toString方法,输出对象信息
return "Person{" +
"name='" + name + '\'' +
'}';
}
}
public class CloneDemo01 {
public static void main(String[] args) throws Exception{
Person person = new Person(); //实例化Person类对象
Person person1 = null; //定义person1对象
person.setName("张三"); //为实例化对象赋值
person1 = (Person)person.clone(); //进行对象克隆,克隆一个新的对象person1
System.out.println("原对象-->" + person); //输出原对象
System.out.println("克隆过后对象-->" + person1); //输出克隆得到的对象
person1.setName("李四"); //对克隆的对象做出修改
System.out.println("原对象-->" + person); //输出原对象
System.out.println("克隆并修改过后对象-->" + person1); //输出克隆得到的对象
}
}
运行结果
原对象-->Person{name='张三'}
克隆过后对象-->Person{name='张三'}
原对象-->Person{name='张三'}
克隆并修改过后对象-->Person{name='李四'}