public enum MyUnits
{
MILLSECONDS(1, "milliseconds"), SECONDS(2, "seconds"),MINUTES(3,"minutes"), HOURS(4, "hours");
private MyUnits(int quantity, String units)
{
this.quantity = quantity;
this.units = units;
}
private int quantity;
private String units;
public String toString()
{
return (quantity + " " + units);
}
public static void main(String[] args)
{
for (MyUnits m : MyUnits.values())
{
System.out.println(m.MILLSECONDS);
System.out.println(m.SECONDS);
System.out.println(m.MINUTES);
System.out.println(m.HOURS);
}
}
}
这是指post ..无法回复或评论创建的任何新内容。为什么是我的
System.out.println(m.MILLSECONDS);
发出警告-应该以静态方式访问静态字段MyUnits.MILLSECONDS吗?
谢谢。
最佳答案
因为当您访问静态字段时,您应该在类(或本例中为枚举)上执行此操作。如
MyUnits.MILLISECONDS;
不在实例中
m.MILLISECONDS;
编辑要解决以下问题:在Java中,当您将某些内容声明为
static
时,您是说它是类的成员,而不是对象(因此,为什么只有一个)。因此,在对象上访问它没有意义,因为该特定数据成员与该类相关联。