當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Java Enum clone()用法及代碼示例


Enum類clone()方法

  • clone() 方法可在java.lang包。
  • clone() 方法用於保證枚舉不能被克隆 ()(即我們不能複製枚舉對象),這是維護屬性的“單例”行為所必需的。
  • clone() 方法是一個非靜態方法,它隻能通過類對象訪問,如果我們嘗試使用類名訪問方法,那麽我們將得到一個錯誤。
  • clone() 方法是 final 方法,因此它在子類中不可覆蓋。
  • clone() 方法在不克隆枚舉時可能會拋出異常
    克隆不支持異常: 當對象類沒有實現 Cloneable 接口時可能會拋出此異常,在這種情況下,如果子類覆蓋 clone() 方法可能會拋出 CloneNotSupportedException 以表示無法複製或關閉實例。

用法:

    protected Object clone();

參數:

  • 它不接受任何參數。

返回值:

這個方法的返回類型是Object,它什麽都不返回。

例:

// Java program to demonstrate the example 
// of Object clone() method of Enum 

enum Weeks {
    SUN,
    MON,
    TUE,
    WED,
    THU,
    FRI,
    SAT;
}
public class Clone {
    public static void main(String args[]) throws CloneNotSupportedException {

        System.out.println("Enum can't be cloned");

        Clone cl = new Clone() {

            protected final Object clone() throws CloneNotSupportedException {

                return new CloneNotSupportedException();
            }
        };

        System.out.println(cl.clone());
    }
}

輸出

Enum can't be cloned
java.lang.CloneNotSupportedException


相關用法


注:本文由純淨天空篩選整理自Preeti Jain大神的英文原創作品 Java Enum clone() method with example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。