Osheep

时光不回头,当下最重要。

Java对象克隆了解标识接口

导语

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

主要内容

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

具体内容

对象克隆

对象克隆指的就是对象的复制操作,在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。

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

总结

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

更多内容戳下面:

点赞