java.lang.Enum.clone()方法實例
java.lang.Enum.clone() 方法保證永遠不會複製枚舉,這是必要的,以保持自己的“singleton”狀態。
聲明
以下是java.lang.Enum.clone()方法的聲明
protected final Object clone() throws CloneNotSupportedException
參數
-
NA
返回值
此方法不返回任何值。
異常
-
CloneNotSupportedException -- 如果對象的類不支持Cloneable接口。子類覆蓋clone方法也會拋出此異常,以指示一個實例不能被克隆。
例子
下麵的例子顯示java.lang.Enum.clone()方法的使用。
package com.yiibai; import java.lang.*; // enum showing Mobile prices enum Mobile { Samsung(400), Nokia(250); int price; Mobile(int p) { price = p; } int showPrice() { return price; } } public class EnumDemo { public static void main(String args[]) { System.out.println("Enums can never be cloned..."); EnumDemo t = new EnumDemo() { protected final Object clone() throws CloneNotSupportedException { throw new CloneNotSupportedException(); } }; System.out.println("CellPhone List:"); for(Mobile m : Mobile.values()) { System.out.println(m + " costs " + m.showPrice() + " dollars"); } } }
讓我們來編譯和運行上麵的程序,這將產生以下結果:
Enums can never be cloned... CellPhone List: Samsung costs 400 dollars Nokia costs 250 dollars