Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在枚举中实现接口时,为什么eclipse会在被重写的接口方法之前自动放置分号?_Java_Eclipse_Enums_Interface_Syntax Error - Fatal编程技术网

Java 在枚举中实现接口时,为什么eclipse会在被重写的接口方法之前自动放置分号?

Java 在枚举中实现接口时,为什么eclipse会在被重写的接口方法之前自动放置分号?,java,eclipse,enums,interface,syntax-error,Java,Eclipse,Enums,Interface,Syntax Error,我有一个接口和一个枚举 我正在枚举中实现接口 我正在使用eclipse作为我的IDE 下面是我的接口文件- ITrafficSignal.java-> 下面是我的枚举文件- ETrafficSignal.java-> 在这里;在第2行中,eclipse会自动放置 如果我删除;,然后在正在实现的方法中- 公众虚空表演 在关键字void下面有一条红线,错误是- Multiple markers at this line - implements ITrafficSignal.showAction

我有一个接口和一个枚举

我正在枚举中实现接口

我正在使用eclipse作为我的IDE

下面是我的接口文件-

ITrafficSignal.java->

下面是我的枚举文件-

ETrafficSignal.java->

在这里;在第2行中,eclipse会自动放置

如果我删除;,然后在正在实现的方法中-

公众虚空表演

在关键字void下面有一条红线,错误是-

Multiple markers at this line 
- implements ITrafficSignal.showAction
- Syntax error on token "void", volatile expected

我无法理解这一点。

这只是枚举类型的语法。发件人:

EnumBody的语法为:

最后,EnumBodyDeclarations的语法是:

正如您所看到的,上面显示了枚举体声明前面必须有分号;将其与枚举常量分离。与EnumConstantList不同,分号不是可选的1。这意味着,如果存在枚举体声明,则无论是否声明了任何枚举常量,分号都必须存在,尽管我个人不认为没有常量的枚举类型有什么意义


一,。但是,整个EnumBodyDeclarations是可选的,这意味着如果没有BodyDeclarations,则可以省略分号。

这只是enum类型的语法。发件人:

EnumBody的语法为:

最后,EnumBodyDeclarations的语法是:

正如您所看到的,上面显示了枚举体声明前面必须有分号;将其与枚举常量分离。与EnumConstantList不同,分号不是可选的1。这意味着,如果存在枚举体声明,则无论是否声明了任何枚举常量,分号都必须存在,尽管我个人不认为没有常量的枚举类型有什么意义


一,。但是,整个EnumBodyDeclarations是可选的,这意味着如果没有主体声明,那么分号可以省略。

回答得好,不知怎么地,我知道它是必要的,但从来没有考虑过规范。还有一个声明:虽然我个人不认为有一个没有常量的enum类型有什么意义,但回答得好,不知何故,我知道这是必要的,但我从来都不想看规范。还有一句话:虽然我个人不认为拥有一个没有常量的枚举类型有什么意义。,
public enum ETrafficSignal implements ITrafficSignal {
    ;

    @Override
    public void showAction() {

    }
}
Multiple markers at this line 
- implements ITrafficSignal.showAction
- Syntax error on token "void", volatile expected
EnumDeclaration:
  {ClassModifier} enum TypeIdentifier [Superinterfaces] EnumBody 
EnumBody:
  { [EnumConstantList] [,] [EnumBodyDeclarations] }

EnumConstantList:
  EnumConstant {, EnumConstant}

EnumConstant:
  {EnumConstantModifier} Identifier [( [ArgumentList] )] [ClassBody]

EnumConstantModifier:
  Annotation
EnumBodyDeclarations:
  ; {ClassBodyDeclaration}