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的元素变化,互不影响

  • 相关阅读:
    web项目中加斜杠与不加斜杠
    事务是什么,以及事务四个特性
    Java中 a+=b和a=a+b有什么区别?
    JAVA基础15
    JAVA基础13
    JAVA基础12
    JAVA基础11
    JAVA基础10
    DELPHI下的SOCK编程
    设置VSS2005使支持通过Internet访问(转)
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/14257538.html
Copyright © 2011-2022 走看看