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
时,你说它是一个成员类,而不是对象(因此为什么只有一个)。因此,在对象上访问它是没有意义的,因为该特定数据成员与类相关联。
关于java - 为什么要以静态方式访问静态字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5642834/