acidic_base:
私が持っているinterface
とenum
私は実装していますinterface
中にenum
私は使用していますeclipse
私のIDEとして
以下は、私のあるinterface
ファイル-
ITrafficSignal.java
- >
public interface ITrafficSignal {
public void showAction();
}
以下は、私のあるenum
ファイル-
ETrafficSignal.java
- >
public enum ETrafficSignal implements ITrafficSignal {
;
@Override
public void showAction() {
}
}
ここでは;
2行目では、自動的にによって置かれてされていますeclipse
私は削除した場合;
、その後でmethod
ビーイングimplemented
-
public void showAction()
下の赤い線を持っているkeyword
void
とエラーが語ります-
Multiple markers at this line
- implements ITrafficSignal.showAction
- Syntax error on token "void", volatile expected
私はこれを理解することができません。
なスロー:
それは、単に列挙型の構文です。以下からの§8.9enum型Java言語仕様:
EnumDeclaration: {ClassModifier} enum TypeIdentifier [Superinterfaces] EnumBody
そして、の構文はEnumBody
次のとおりです。
EnumBody: { [EnumConstantList] [,] [EnumBodyDeclarations] } EnumConstantList: EnumConstant {, EnumConstant} EnumConstant: {EnumConstantModifier} Identifier [( [ArgumentList] )] [ClassBody] EnumConstantModifier: Annotation
そして最後の構文はEnumBodyDeclarations
次のとおりです。
EnumBodyDeclarations: ; {ClassBodyDeclaration}
あなたが見ることができるように、列挙体の宣言は、セミコロン(が先行されなければならないことは、上記に示し;
enum定数からそれを分離します)。異なり、EnumConstantList
セミコロンはオプションではありません1。私は個人的に定数のない列挙型を持つのポイントが表示されていないものの、関係なく、任意の列挙型定数を宣言そこにいるの列挙体の宣言があるかどうこの手段は、セミコロンが存在しなければなりません。
1.全体がEnumBodyDeclarations
オプションである、しかし、その後、セミコロンを省略することができる何体宣言をがない場合を意味します。