だから、私は列挙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 value = Sample.ValueB;
value.doSomething();
となります。
私は最初のものがうまくいかない理由について合理的な答えがあり、2つの例がボンネットの中で等価であることに関係します。私は誰かがそれがなぜその方法であるかについてのドキュメンテーションに向けて私を指すことができることを願っていました。
エラーが発生していると言うと本当に助かります... –
'Sample.doSomething()'を呼び出すべきではありませんか? – nfechner
@ nfechner..the doSomething() 'メソッドは静的ではありません.. –