2
假設你有一個枚舉單:實例化和使用枚舉單
public enum Elvis {
INSTANCE;
private int age;
private Elvis() { age = 42; }
public int getAge() { return age; }
public void leaveTheBuilding() { System.out.println("I'm outta here."); }
}
問題:你怎麼那麼使用它?是這樣的:
int a = Elvis.INSTANCE.getAge();
Elvis.INSTANCE.leaveTheBuilding();
// and so on, using Elvis.INSTANCE
還是最好實例是「明確的」,然後使用該實例,就像這樣:
Elvis elvis = Elvis.INSTANCE;
int a = elvis.getAge();
elvis.leaveTheBuilding();
// and so on, using elvis
我很想使用後者,以避免在難看的.INSTANCE
無處不在。但是有沒有這樣做的缺點? (除了實例化的一行額外代碼)。