請參閱link。關於枚舉,布洛赫說有效Java中解釋的枚舉類型由Joshua Bloch
Java的枚舉類型是通過公共靜態最終場導出每個 枚舉常量一個實例類。
我讀了枚舉類文檔但有沒有公共靜態最終場,那麼如何做上述表示的成立。請解釋。 謝謝
請參閱link。關於枚舉,布洛赫說有效Java中解釋的枚舉類型由Joshua Bloch
Java的枚舉類型是通過公共靜態最終場導出每個 枚舉常量一個實例類。
我讀了枚舉類文檔但有沒有公共靜態最終場,那麼如何做上述表示的成立。請解釋。 謝謝
創建Test.java
文件,並寫入Test enum
:
public enum Test {
Hello
}
編譯這個類:javac Test.java
,並使用javap Test
獲得編譯的類:
public final class Test extends java.lang.Enum{
public static final Test Hello;
public static Test[] values();
public static Test valueOf(java.lang.String);
static {};
}
,你可以看到Test
類從擴展Enum
,它有public static final Hello
字段。
枚舉是所有枚舉的基類。它不包含常量。包含常量的是具體的枚舉類本身。例如參見documentation for the enum Locale.Category。它包含每個枚舉常量的公共靜態最終字段:DISPLAY和FORMAT。
編譯器爲您創建公共靜態最終字段。嘗試使用javap反編譯該類。 –