美文网首页
Object的克隆

Object的克隆

作者: 王古 | 来源:发表于2019-04-10 17:05 被阅读0次
克隆一个对象
public class CloneDemo implements Cloneable {
    int x;
 
    public static void main(String[] args) throws CloneNotSupportedException {
        CloneDemo cd = new CloneDemo();
        cd.x = 5;
        System.out.printf("cd.x = %d%n", cd.x);
        CloneDemo cd2 = (CloneDemo) cd.clone();
        System.out.printf("cd2.x = %d%n", cd2.x);
    }
}




class Data implements Cloneable {
    int x;
 
    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
}
 
public class CloneDemo {
    public static void main(String[] args) throws CloneNotSupportedException {
        Data data = new Data();
        data.x = 5;
        System.out.printf("data.x = %d%n", data.x);
        Data data2 = (Data) data.clone();
        System.out.printf("data2.x = %d%n", data2.x);
    }
}


data.x = 5
data2.x = 5
浅克隆

浅克隆(也叫做浅拷贝)仅仅复制了这个对象本身的成员变量,该对象如果引用了其他对象的话,也不对其复制。

深克隆

深克隆(也叫做深复制)会复制这个对象和它所引用的对象的成员变量,如果该对象引用了其他对象,深克隆也会对其复制。

相关文章

  • Object的克隆

    克隆一个对象 浅克隆 浅克隆(也叫做浅拷贝)仅仅复制了这个对象本身的成员变量,该对象如果引用了其他对象的话,也不对...

  • ES6 - 对象

    对象合并:Object.assign()克隆对象:Object.assign({}, origin) 属性的遍历 ...

  • JS对象常用办法

    Object.assign()用于克隆 Object.is()用于判断两个值是否相同 Object.keys()用...

  • JS代码片段(Object、Function)

    Object deepClone 创建对象的深度克隆。使用递归。使用object.assign()和空对象创建原始...

  • js中对象常用方法

    Object.assign()… 用于克隆 var first = {name : 'kong'};var las...

  • js与ES6对象常用方法区别

    js与ES6对象常用方法区别js中对象方法 Object.assign//用于克隆 Object.is()…用于判...

  • 对象克隆类

    1.清楚对象克隆的操作结构 2.巩固接口的作用 对象克隆即对象复制,在Object类中提供如下方法protecte...

  • clone之深浅

    1.clone() 是Object类中的一个方法,可以实现对象的克隆。(区别于赋值只能赋值引用) 2.浅克隆与深克...

  • Java☞克隆

    在基类Object中,有个clone方法,可产生一个前期对象的克隆,克隆对象是原对象的拷贝,由于引用类型的存在,又...

  • Java必备技能:clone浅克隆与深克隆

    介绍 一直以来只知道Java有clone方法,该方法属于Object的,对于什么是浅克隆与深克隆就比较模糊了,现在...

网友评论

      本文标题:Object的克隆

      本文链接:https://www.haomeiwen.com/subject/lsjoiqtx.html