在Java的Enum(列舉)中定義靜態成員常數(static constant)的方法如下。
如果要在Enum中定義靜態成員常數,也就是以static final
修飾的靜態不可變的成員屬性,可在Enum中建立一個內部靜態類別,然後在該類別中定義靜態成員常數。
例如下面是一個列舉VipType
,並在裡面建立一個內部靜態類別(Nested Static Class)LV
,然後在LV
中定義要建立的常數。
public enum VipType {
VIP(LV.LV1),
VVIP(LV.LV2),
VVVIP(LV.LV3);
private int level;
private VipType(int level) {
this.level = level;
}
public int getLevel() {
return level;
}
/** 內部靜態類別 */
private static final class LV {
private static final int LV1 = 1; // 靜態常數
private static final int LV2 = 2;
private static final int LV3 = 3;
}
}
執行以下測試。
System.out.println(VipType.VIP.getLevel()); // 1
System.out.println(VipType.VVIP.getLevel()); // 2
System.out.println(VipType.VVVIP.getLevel()); // 3
參考:
沒有留言:
張貼留言