zoukankan      html  css  js  c++  java
  • java.lang.Object 之 clone() 使用

      Java的所有类都默认继承 java.lang.Object 类,在 java.lang.Object 类中有一个方法 clone()。JDK API的说明文档解释这个方法将返回Object对象的一个拷贝。要说明的有两点:一是拷贝对象返回的是一个新对象,而不是一个引用。二是拷贝对象与用 new操作符返回的新对象的区别就是这个拷贝已经包含了一些原来对象的信息,而不是对象的初始信息。
    对于Java中使用 clone() 方法有几点需要注意

      1:被clone的类必须实现 Cloneable 接口,Cloneable 接口实际上是个标识接口,没有任何接口方法,如果不实现 Cloneable 接口会报 java.lang.CloneNotSupportedException。

      2:实现 Cloneable 接口的类应该使用公共方法重写 Object.clone()(它是受保护的)。某个对象实现了此接口就克隆它是不可能的。即使 clone() 方法是反射性调用的,也无法保证它将获得成功。

      3:写 clone() 方法时,通常都有一行代码 super.clone(); clone 有缺省行为,super.clone();因为首先要把父类中的成员复制到位,然后才是复制自己的成员

    public class Clone implements Cloneable {
    
        @Override
        public Clone clone() {
    
            try {
                Clone clone = (Clone) super.clone();
                return clone;
            } catch (CloneNotSupportedException e) {
                throw new InternalError(e);
            }
        }
    }
  • 相关阅读:
    Spring.Net初认识——竹子整理
    SOA:面向服务编程——竹子整理
    unity安装记录
    wcf第三方客户端与wcf服务之间调用入门
    Winform VS2015打包
    OWINS是什么(转载)
    [LR]遇到的坑及常用技巧
    性能测试简单调优
    es6解构赋值
    es6 笔记
  • 原文地址:https://www.cnblogs.com/cmdra/p/5902094.html
Copyright © 2011-2022 走看看