爲什麼枚舉類中一定要有私有構造方法呢?
枚舉被設計成是單例模式,即枚舉類型會由JVM在加載的時候,實例化枚舉對象,你在枚舉類中定義了多少個就會實例化多少個,JVM爲了保證每一個枚舉類元素的唯一實例,是不會允許外部進行new的,所以會把構造函數設計成private,防止用戶生成實例,破壞唯一性。
例子:
NumberForCaseEnum
public enum NumberForCaseEnum {
ONE(1),
TWO(2),
THREE(3),
FOUR(4);
private final int index;
private NumberForCaseEnum(int index){
this.index=index;
}
public int getIndex(){
return this.index;
}
}
運行類:
public static void main(String[] args) {
SpringApplication.run(SecurityApplication.class, args);
//可以通過循環遍歷拿值
for(NumberForCaseEnum x:NumberForCaseEnum.values()){
System.out.println("枚舉值:"+x.getIndex());
}
//也可以單獨拿值
System.out.println(NumberForCaseEnum.ONE.getIndex());
}
運行截圖:
關注公衆號,獲取更多資源
每天進步一點點,開心也多一點點