zoukankan      html  css  js  c++  java
  • Java的Cloneable接口还有深浅复制

    我的小记录

    首先语法上,搞清除,Java有个Cloneable接口,但这个接口是没有定义方法的。

    那实现了这个接口有什么用呢?

    再看Object类中,有个clone()方法,这个方法提供一个浅复制的功能,如果你的类不实现Cloneable接口,然后你的类的instance调用clone()的话,就会报异常。

    浅复制,是指浅度克隆对于要克隆的对象,对于其基本数据类型的属性,复制一份给新产生的对象,对于非基本数据类型的属性,仅仅复制一份引用给新产生的对象,即新产生的对象和原始对象中的非基本数据类型的属性都指向的是同一个对象。

    直接用Object.clone()方法就是浅复制。

    深复制就是   简单的说就是:除了克隆自身对象,还对其他非基本数据类型的引用的其他以外的所有对象,都克隆了一遍。

    然后主要看这两篇文章:

    《Cloneable接口和Object的clone()方法 》——https://www.cnblogs.com/haitaofeiyang/p/7708000.html

    这篇博客讲clone()方法还有Cloneable接口还有怎么实现深浅复制。

    《Java中Cloneable接口的浅复制与深复制》——https://blog.csdn.net/shangming150/article/details/80323825

    这篇博客讲深浅复制而且例子很详细。

  • 相关阅读:
    MFC下拉框使用方法
    C++学习之路,漫长而遥远
    [转载]浅析STL allocator
    [转载]《STL源码剖析》阅读笔记之 迭代器及traits编程技法
    回溯算法之n皇后问题
    算法练习之一
    Windows配置JDK and TOMCAT
    搭建openstack allinone版本
    在ms08_067_netapi中添加2003的Chinese版本
    msfvenom各平台木马生成
  • 原文地址:https://www.cnblogs.com/wangshen31/p/10366762.html
Copyright © 2011-2022 走看看