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
相關用法
- Java Enum compareTo()用法及代碼示例
- Java Enum equals()用法及代碼示例
- Java Enum toString()用法及代碼示例
- Java Enum ordinal()用法及代碼示例
- Java Enum valueOf()用法及代碼示例
- Java Enum hashCode()用法及代碼示例
- Java Enum finalize()用法及代碼示例
- Java Enum name()用法及代碼示例
- Java Enum getDeclaringClass()用法及代碼示例
- Java EnumSet range()用法及代碼示例
- Java EnumMap remove()用法及代碼示例
- Java EnumMap hashCode()用法及代碼示例
- Java EnumMap get()用法及代碼示例
- Java EnumSet complementOf()用法及代碼示例
- Java EnumSet clone()用法及代碼示例
- Java EnumMap entrySet()用法及代碼示例
- Java EnumMap containsKey()用法及代碼示例
- Java EnumMap containsValue(value)用法及代碼示例
- Java Enumeration asIterator()用法及代碼示例
- Java EnumMap containsValue()用法及代碼示例
注:本文由純淨天空篩選整理自Preeti Jain大神的英文原創作品 Java Enum clone() method with example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。