Cloneable

作者: 我姓杨却不是你信仰 | 来源:发表于2020-09-21 10:52 被阅读0次

Cloneable接口,JDK1.0版本引入 也是一个标记接口
官方文档是这么说的
一个类实现Cloneable接口,以指示Object.clone()方法,该方法对于该类的实例进行现场复制是合法的。
在不实现Cloneable接口的实例上调用对象的克隆方法导致抛出异常CloneNotSupportedException 。

在实现了Cloneable接口,并且覆盖了Object.clone()方法,才可以调用clone,否则会抛出CloneNotSupportedException;

下面来看看具体代码:
public class Car implements Cloneable {

private String name;
private String color;

public Car(String name, String color) {
    this.name = name;
    this.color = color;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getColor() {
    return color;
}

public void setColor(String color) {
    this.color = color;
}

@Override
public Object clone() throws CloneNotSupportedException {
    Car car = (Car) super.clone();
    car.setColor(this.color);
    car.setName(this.name);
    return car;
}

public Object clone1() throws CloneNotSupportedException {
    return super.clone();
}

public static void main(String[] args) {
    Car car = new Car("POLO","黑色");
    Car car1 = null;
    try {
        car1 = (Car) car.clone1();
    } catch (CloneNotSupportedException e) {
        e.printStackTrace();
    }
    car.setName("1111");
    System.out.println(car1);
}

为了检查下,clone后的对象是否是一个实例,后续改变了car的值。car1并没有改变。

相关文章

  • Cloneable

    如何实现Cloneable接口?1、让该类实现java.lang.Cloneable接口;实现Cloneable接...

  • Cloneable

    Cloneable接口,JDK1.0版本引入 也是一个标记接口官方文档是这么说的一个类实现Cloneable接口,...

  • 10.21

    哪个类包含 clone 方法?是 Cloneable 还是 Object?java.lang.Cloneable ...

  • Cloneable接口

    Cloneable接口的官方解释 1.Cloneable属于标记接口,接口内部没有方法和属性。实现该接口的类的实例...

  • Cloneable相关

    18.7.191、Cloneable接口没有定义成员。2、想要使用Object提供的clone()方法,必须实现C...

  • Cloneable源码

    1、简介 1.1、英文注释 A class implements the Cloneable interface ...

  • Cloneable 接口

    浅拷贝(shallow clone)和深拷贝(deep clone) 浅拷贝是指拷贝对象时仅仅拷贝对象本身和对象中...

  • Cloneable接口

    前置知识 Java在处理对象和变量时是不同的.变量传入函数实际上是引用传入函数内,在函数内的变量和函数外传入的变量...

  • Cloneable接口

    2020-4-7 Cloneable接口是一个标记接口: 一个典型的示例: 对于Cloneable接口,有以下需要...

  • Android设计模式(三)- 原型模式

    目录 定义 使用场景 UML类图 简单实现 使用Cloneable接口 不实现Cloneable接口 问题 深拷贝...

网友评论

      本文标题:Cloneable

      本文链接:https://www.haomeiwen.com/subject/sjfvyktx.html