有人说这样的是浅克隆:
class Book implements Cloneable{
private String name;
private double price;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Book(String name,double price){
this.name=name;
this.price=price;
}
@Override
public String toString(){
return name+":"+price;
}
@Override
public Object clone() throws CloneNotSupportedException{
return super.clone();
}
}
class Student{
private String name;
private Book book;
}
public class CloneTest {
public static void main(String[] args) throws CloneNotSupportedException {
Book b1 = new Book("luoweideshenlin",26);
Book b2 = (Book)b1.clone();//不等价:b2=b1;
b2.setName("pingfandeshijie");
b2.setPrice(78);
System.out.println(b1.toString());
System.out.println(b2.toString());
System.out.println(b1==b2);
}
}
这个的输入结果是:
luoweideshenlin:26.0
pingfandeshijie:78.0
false
那怎么样算深克隆呢,
cxxyjsj
相关分类