Java学习-----对象克隆
对象克隆,把对象的属性值完全克隆到新对象
知识点一(条件一):标记型接口,标记了才能生效,例如cloneable接口就是标记型接口,里面没有任何抽象方法需要实现,但是类只有implement了这个接口才可以被克隆。
条件二:一个类要克隆还要重写Object类的clone方法(小知识:所有的类都默认继承Object类)。
//实现没有抽象方法的Cloneable接口
public class Frog implements Cloneable{
private String name;
public Frog(String name){
this.name = name;
}
//重写clone方法
@Override
protected Object clone() throws CloneNotSupportedException {
return super.clone();
}
@Override
public String toString() {
return "Frog{" +
"name='" + name + '\'' +
'}';
}
}
克隆测试结果:
可见frog对象调用clone方法创建了一个新的对象frog1并将frog的属性赋给了frog1