java基础之Clone

2018-08-22  本文已影响0人  writeanewworld

1.代码

public class CloneTest{
public static void main(String[] args) {
    Person p = new Person("一斤","两斤");
    System.out.println(p);
    
    Person p1 = p;
    System.out.println(p1);
    
    try {
        Person p2 = (Person) p.clone();
        System.out.println(p2);
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    
 }

}

class Person implements Cloneable{

private String eat;
private String drink;

//new person 就是使用提供的重载的构造器进行实例化,默认的是使用无参构造器进行实例化
Person(String eat,String drink){
    this.eat = eat;
    this.drink = drink;
}


public String getEat() {
    return eat;
}
public void setEat(String eat) {
    this.eat = eat;
}
public String getDrink() {
    return drink;
}
public void setDrink(String drink) {
    this.drink = drink;
}

@Override
protected Object clone() throws CloneNotSupportedException {
    //clone有缺省行为,super先将父类中的成员复制到位,然后再复制自己的成员 
    return (Person )super.clone();
}

}

2.运行结果

com.begin21.top.Person@7852e922
com.begin21.top.Person@7852e922
com.begin21.top.Person@4e25154f
上一篇 下一篇

猜你喜欢

热点阅读