clone方法

clone会创建一个新的对象去引用,而不是共享一块内存

/**
 * @Auther: Mason
 * @Date: 2020/08/29/18:00
 * @Description:
 */
public class Person implements Cloneable {
    
    
    String name;

    public Person(String name) {
    
    
        this.name = name;
    }


    public static void main(String[] args) throws CloneNotSupportedException {
    
    
        Person p = new Person("mason");

        Person pp = p;
        pp.name = "sdkjlf";
        System.out.println(p.name); // sdkjlf  改变了。

        Person ppp = (Person) p.clone();
        ppp.name = "rrrrrr";
        System.out.println(p.name);// sdkjlf  没改变

        Person pppp = p;
        pppp.name = "rrrrrr";
        System.out.println(p.name);// rrrrrr  改变了

    }
}

猜你喜欢

转载自blog.csdn.net/Mason97/article/details/108297680