所以,我有我的枚举的Java公共枚举法的目的
public enum Sample {
ValueA{
@Override
public String getValue(){ return "A"; }
},
ValueB{
@Override
public String getValue(){ return "B"; }
public void doSomething(){ }
};
abstract public String getValue();
};
,我有一些其他的代码试图利用枚举。
Sample.ValueB.doSomething();
这似乎应该是有效的,但会产生错误“方法doSomething()未定义类型Sample”。相对于
Sample value = Sample.ValueB;
value.doSomething();
它产生相同的错误,似乎是合理的。
我假设有一个合理的答案,为什么第一个不起作用,它涉及到两个例子在引擎盖下等价。我希望有人能指出我为什么这样的文档。
如果你想说出什么错误,那真的会有帮助... –
不应该调用'Sample.doSomething()'吗? – nfechner
@ nfechner ..'doSomething()'方法不是静态的。 –