package Lang_1;
class Person1 implements Cloneable{
private String name=null; public Person1(String name) {
this.name = name;
}
public String toString() {
return "姓名"+this.getName();
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
}public class CloneDemo { public static void main(String[] args) throws CloneNotSupportedException {
Person1 p1=new Person1("张三");
Person1 p2=(Person1)p1.clone();
p2.setName("李四");
System.out.println(p1);
System.out.println(p2);
}}
上面的程序是使用Object中的clone()方法克隆对象Person1,这儿如果不重写Object中的clone()方法扩大权限,直接用
Person1 的实例对象调用clone()方法时,提示Object中的clone()方法不可见,查了一下API,是受保护的。这儿的受保
户是只能Object才能调用,还是怎么回事??这样设计作用是什么??
class Person1 implements Cloneable{
private String name=null; public Person1(String name) {
this.name = name;
}
public String toString() {
return "姓名"+this.getName();
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
}
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
}public class CloneDemo { public static void main(String[] args) throws CloneNotSupportedException {
Person1 p1=new Person1("张三");
Person1 p2=(Person1)p1.clone();
p2.setName("李四");
System.out.println(p1);
System.out.println(p2);
}}
上面的程序是使用Object中的clone()方法克隆对象Person1,这儿如果不重写Object中的clone()方法扩大权限,直接用
Person1 的实例对象调用clone()方法时,提示Object中的clone()方法不可见,查了一下API,是受保护的。这儿的受保
户是只能Object才能调用,还是怎么回事??这样设计作用是什么??
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货