public Car{
public enum Color{RED,BLUE};
private Color color;
Car(Car.Color c)
{
this.color =c
}
}
这是正确的方法吗?在一个类中使用枚举?
public Car{
public enum Color{RED,BLUE};
private Color color;
Car(Car.Color c)
{
this.color =c
}
}
这是正确的方法吗?在一个类中使用枚举?
看起来没问题。
你还有什么其他的选择?
没错,没关系。你也可以向私有成员公开一个getter。所以其他班级可以看到汽车的颜色。
这是很有可能的颜色不需要暴露。使枚举公开,以便任何调用者可以将实例传递给构造函数仍然有意义。一般而言,任意暴露的信息越少,类设计越强大。 – 2010-08-18 07:06:37
Jep,看起来不错。
它是正确的。 尽管我将枚举保留在一个单独的文件Color.java中,因为它非常通用。
我也会重命名枚举以避免与'java.awt.Color'发生冲突 – 2010-08-18 08:56:33
你可以在一个类中放入一个enum
,就像你可以在类中创建另一个类(这将是一个nested class,如果它不是静态的,它是一个内部类)。
相关:http://stackoverflow.com/questions/3363120/enumerations-why-when/3363326#3363326 – polygenelubricants 2010-08-18 10:19:10