1
私はもっと多くのJAVAを使うことにしました。OCA 7では、別のメソッドをオーバーライドするメソッドを宣言できます。この列挙型を参照してください:Java enumメソッドは次のメソッドをオーバーライドするのはいつですか?
enum CoffeeSize {
BIG(),
HUGE(),
OVERWHELMING() {
public String getLidCode() { // This method overrides the following method with similar name.
return 'A';
}
}; // <--- is this semicolon I should be looking for?
CoffeeSize(ounces) {
this.ounces = ounces;
}
private int ounces;
public int getOunces() {
return ounces;
}
public String getLidCode() {
return 'B';
}
}
私の質問は、enumのメソッドは別のメソッドをオーバーライドしますか?上書きするセミコロンの前にあるメソッドか、ここでのルールは何ですか?
お時間をいただきありがとうございます。
いいえ年齢のコンストラクタなしではコンパイルされません – Bohemian
ドキュメントを読むことを検討http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#jls-8.9列挙型はクラスであり、どのようなクラスでもほぼ同じ方法でメソッドをオーバーライドすることができます。相違点は、オーバーライドされたメソッドがメインのenum本体または 'Object'でのみ宣言され、enumの各定数すべてでオーバーライドされる点です。 –