在下面的代碼:主要方法在枚舉和類中的工作方式不同嗎?
enum Rank {
FIRST(20), SECOND(0), THIRD(8);
Rank(int value) {
System.out.print(value);
}
public static void main (String[] args) {
System.out.println(" " + Rank.values().length);
}
}
這給出以下輸出:
class XYZ {
public static void main (String[] args) {
System.out.println("\n" + Rank.values().length);
}
}
輸出:
2008 3
然而,如果main
方法在某些其他類這樣聲明只有3
。 enum中的main
和main
之間的區別是什麼?爲什麼我有兩個不同的輸出?
枚舉和其他類沒有區別。這只是在加載類時運行的代碼的差異。有點像在XYZ中有一個靜態塊並在那裏添加了一個打印語句。 – Stultuske
你確定你的第一個代碼片段在打開和關閉大括號的時候是正確的嗎? –
我無法重現您的問題。當我使用外部類時,我得到了輸出「2008 3」。我還在'Rank'中註釋了他'main'方法,但仍然是相同的輸出 – Blip