美文网首页计算机微刊Java程序员
Java对象克隆、了解标识接口

Java对象克隆、了解标识接口

作者: 一个有故事的程序员 | 来源:发表于2017-09-29 23:35 被阅读44次

导语

没有方法的接口——标识接口。

主要内容

  • 清楚对象克隆的操作结构
  • 巩固接口的作用

具体内容

对象克隆

对象克隆指的就是对象的复制操作,在Object类里面提供有一个专门克隆的方法。

  • 对象克隆:protected Object clone() throws CloneNotSupportedException。

此方法上抛出一个“CloneNotSupportedException”异常,如果要使用对象克隆的类没有实现Cloneable接口,那么就会抛出此异常。但是Cloneable接口看不见方法,此为标识接口,表示一种操作能力。

范例:实现克隆操作

public class Book implements Cloneable {  // 此类的对象可以被克隆
    private String title;
    private double price;

    public Book(String title, double price) {
        this.title = title;
        this.price = price;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    @Override
    public String toString() {
        reture "书名:" + this.title + ",价格:" + this.price + "。";
    }
    // 由于此类需要对象克隆操作,所以才需要进行方法的覆写
    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();  // 调用父类的克隆方法
    }
}
public class TestDemo {
    public static void main(String args[]) throws Exception {
        Book bookA = new Book("Java开发", 79.8);
        Book bookB = bookA.clone();
        bookB.setTitle("Android开发");
        System.out.println(bookA);
        System.out.println(bookB);
    }
}

输出结果

书名:Java开发,价格:79.8。
书名:Android开发,价格:79.8。

对象的克隆操作,理论价值大于实际价值,因为在实际的工作里面很少会用到对象克隆 的操作。重点在于标识接口上,以后依然会见到没有方法的接口,这样的接口就好比通行证一样,表示的是能力。

总结

标识接口:没有任何方法定义,只是一个空接口的声明。

更多内容戳这里(整理好的各种文集)

相关文章

  • Java对象克隆、了解标识接口

    导语 没有方法的接口——标识接口。 主要内容 清楚对象克隆的操作结构 巩固接口的作用 具体内容 对象克隆 对象克隆...

  • 使用对象序列化和反序列化实现深度克隆

    java对象进行克隆,分为浅克隆和深克隆 浅克隆需要实现java.lang.Cloneable接口,并重写java...

  • Java对象克隆

    引自:Java对象克隆(Clone)及Cloneable接口、Serializable接口的深入探讨https:/...

  • java基础之克隆

    Java提高篇——对象克隆(复制) 浅克隆 被复制的类需要实现Clonenable接口(不实现的话在调用clone...

  • super.clone()做了什么

    java对象如果想被克隆,它对应的类需要implements标志接口Cloneable。如果不重写clone()方...

  • Java标识接口

    Java标识接口是一个空接口,方法的接口,用来标识实现接口的类具有某种作用。最常用实现Java.io.Serial...

  • java克隆

    java克隆 java克隆分为浅克隆和深克隆,概念如下: 浅拷贝(浅克隆)克隆出来的对象的所有变量都含有与原来的对...

  • 理解Java浅克隆和深克隆

    克隆概念 Java一切皆对象,克隆就是对对象的克隆;克隆可能听起来有点高级,也可以为对象复制或者对象拷贝。平时开发...

  • [Effective Java] (11) 谨慎地覆盖clone

    Cloneable接口的目的是作为对象的mixin接口(mixin interface),表明这样的对象允许克隆(...

  • Java深复制浅复制解析.md

    Java 克隆概念 Java克隆分为深克隆和浅克隆两种类型。 浅复制(浅克隆)被复制对象的所有变量都含有与原来的对...

网友评论

本文标题:Java对象克隆、了解标识接口

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