2010-08-18 76 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,如果它不是静态的,它是一个内部类)。