zoukankan      html  css  js  c++  java
  • 温故而知新 clone

    浅复制(浅克隆)

          被复制对象所有变量都含有与原来对象的相同值,对象中对其他对象的引用仍然指向原来的对象,换言之,复制对象只复制考虑的对象,而不复制所引用的对象。继承自java.lang.Object类的clone()方法是浅复制

    深复制(深克隆)

    被复制对象所有变量都含有与原来对象的相同值,那些引用其他对象的变量将指向被复制的新对象,而不是原有对象的引用。

    Java的clone()方法

    1. clone方法将对象复制了一份并返回给调用者。一般而言,clone()方法满足:
    2. 对任何的对象x,都有x.clone() !=x//克隆对象与原对象不是同一个对象
    3. 对任何的对象x,都有x.clone().getClass()= =x.getClass()//克隆对象与原对象的类型一样
    4. 如果对象x的equals()方法定义恰当,那么x.clone().equals(x)应该成立。

    Java中对象的克隆

    1. 为了获取对象的一份拷贝,我们可以利用Object类的clone()方法。
    2. 在派生类中覆盖基类的clone()方法,并声明为public。
    3. 在派生类的clone()方法中,调用super.clone()。
    4. 在派生类中实现Cloneable接口。
  • 相关阅读:
    Python解释器相关知识
    简单了解下Flask
    Scoket编程
    __file__的作用
    jquery编写可折叠列表
    浑浑噩噩的一天
    js实现杨辉三角
    js闭包
    python读取word表格
    HTMLTestRunner报告
  • 原文地址:https://www.cnblogs.com/ywqbj/p/5633131.html
Copyright © 2011-2022 走看看