我们先看两个图:
图1
图2
由以上两个图,我们可以知道,要想使用clone()方法需要先implements Cloneable接口(该接口是标记接口,也就意味着必须打上克隆的标识你才能进行克隆)
再看图2 ,Object类中方法名前加protected意味着只有其子类才能访问,其他类访问需要子类重写该方法,而子类重写该方法则要实现图一的接口.
以下是示范例子:
class Student implements Cloneable{
protected Object clone()throws CloneNotSupportedException{
return super.clone();
}
}
main方法中调用的时候注意向下转型
Student s=new Student();
Object obj=s.clone();
Student s1=(Student)obj;
s1就是s的克隆体,但是地址值不一样.