2010-08-18 77 views
2
public Car{ 

public enum Color{RED,BLUE}; 
private Color color; 

Car(Car.Color c) 
{ 
this.color =c 

} 


} 

這是正確的方法嗎?在一個類中使用枚舉?

+0

相關:http://stackoverflow.com/questions/3363120/enumerations-why-when/3363326#3363326 – polygenelubricants 2010-08-18 10:19:10

回答

1

看起來沒問題。

你還有什麼其他的選擇?

1

沒錯,沒關係。你也可以向私有成員公開一個getter。所以其他班級可以看到汽車的顏色。

+0

這是很有可能的顏色不需要暴露。使枚舉公開,以便任何調用者可以將實例傳遞給構造函數仍然有意義。一般而言,任意暴露的信息越少,類設計越強大。 – 2010-08-18 07:06:37

4

它是正確的。 儘管我將枚舉保留在一個單獨的文件Color.java中,因爲它非常通用。

+2

我也會重命名枚舉以避免與'java.awt.Color'發生衝突 – 2010-08-18 08:56:33

0

你可以在一個類中放入一個enum,就像你可以在類中創建另一個類(這將是一個nested class,如果它不是靜態的,它是一個內部類)。