Java對象克隆、了解標識接口

導語

沒有方法的接口——標識接口。

主要內容

  • 清楚對象克隆的操作結構
  • 鞏固接口的作用

具體內容

對象克隆

對象克隆指的就是對象的復制操作,在Object類里面提供有一個專門克隆的方法。

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

此方法上拋出一個“CloneNotSupportedException”異常,如果要使用對象克隆的類沒有實現(xiàn)Cloneable接口,那么就會拋出此異常。但是Cloneable接口看不見方法,此為標識接口,表示一種操作能力。

范例:實現(xiàn)克隆操作

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開發(fā)", 79.8);
        Book bookB = bookA.clone();
        bookB.setTitle("Android開發(fā)");
        System.out.println(bookA);
        System.out.println(bookB);
    }
}

輸出結果

書名:Java開發(fā),價格:79.8。
書名:Android開發(fā),價格:79.8。

對象的克隆操作,理論價值大于實際價值,因為在實際的工作里面很少會用到對象克隆 的操作。重點在于標識接口上,以后依然會見到沒有方法的接口,這樣的接口就好比通行證一樣,表示的是能力。

總結

標識接口:沒有任何方法定義,只是一個空接口的聲明。

更多內容戳這里(整理好的各種文集)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容