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

  • 相关阅读:
    从 JavaScript 到 TypeScript 系列
    有了 indexOf,为什么 ECMAScript 7 还添加了 Array.prototype.include
    网站部署 HTTPS 中需要做的事情
    从 HTTP 到 HTTPS
    从 HTTP 到 HTTPS
    co.js
    记jQuery.fn.show的一次踩坑和问题排查
    JavaScript
    二、HttpClient
    1、网络爬虫
  • 原文地址:https://www.cnblogs.com/woyujiezhen/p/14257538.html
Copyright © 2011-2022 走看看