zoukankan      html  css  js  c++  java
  • Object 的 clone

    要用到clone()的时候,发现通过IDEA直接.的方式没出现提示,有点懵。后面在自己的类上重写了这个方法,又出现了不能clone的异常,然后给类上加上了Cloneable接口。

    clone()是Object类的一个protected的方法。如果子类需要调用,必须显示重写,且一定要在类上实现 Cloneable接口。这个是JAVA规定的

    该方法会在类没有实现Cloneable接口时抛出

    CloneNotSupportedException


    且单纯的super.clone()是一个浅拷贝。如果想做到升拷贝,可以自己实现。不过这样依赖,clone出来的到底是深拷贝还是浅拷贝容易混乱。自己写备注,或者额外写一个类单纯用来做深拷贝的实现也可以。

    我知道的几个方式有:

    1.自己重写一个方法,方法名叫做深拷贝,然后实现具体功能

    2.通过构造方法,传入一个source,返回一个深拷贝的target

    3.另起一个类,专门用于深拷贝。

    数组的clone,可以看成是深拷贝,source和target之间的elements的元素变化,互不影响

  • 相关阅读:
    NLP(五)
    pyinstaller+wxpython+selinum
    C++ 动态库和静态库
    谷粒商城(三) 部署
    Centos使用KVM创建虚拟机
    C++指针
    C++异常处理
    C++流类库与输入/输出
    C++泛型程序设计及STL的结构
    selenium java maven testNg环境搭建
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/14257538.html
Copyright © 2011-2022 走看看