对象克隆:
对象的复制,完整的复制一个对象
对象克隆支持:
直接使用Object类中的clone()方法即可
protectedObject clone() throws CloneNotSupportedException
Cloneable接口
对象所在的类中必须要实现Cloneable接口才可以完成对象的克隆。
注:
① :如果现在一个类的对象被克隆,则就必须在此类中明确的重写此方法,但是此方法不能直接调用。
② :Cloneable是一个接口,但是在此接口中并没有规定任何的操作方法,所以此接口属于标识接口,表示一种能力。
public class CloneDemo1 {
public static void main(String[] args) throws Exception {
Person p1 = new Person("丫蛋");
Person p2 = (Person) p1.clone();//p2被实例化
p2.setName("二丫");
System.out.println("原始对象:"+p1);
System.out.println("克隆之后的对象:"+p2);
}
}
public class Person implements Cloneable {// 实现Cloneable接口表示可以被克隆
private String name;
public Person(String name) {
this.name = name;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public String toString(){
return "姓名:"+this.name;
}
public Object clone() throws CloneNotSupportedException {
return super.clone();//具体的克隆操作由父类完成
}
}