不会覆盖方法错误

时间:2015-10-25 00:23:06

标签: java inheritance abstract

我在尝试运行该文件时,在我的java代码中抛出此异常。

Exception in thread "main" java.lang.ExceptionInInitializerError
at DemoLexer.<clinit>(GenLexer.java:309)
at LexerDemo.main(GenLexer.java:325)
Caused by: java.lang.RuntimeException: Uncompilable source code - MH_Lexer.VarAcceptor is not abstract and does not override abstract method dead(int) in GenAcceptor
Lexer>  at GenAcceptor.<clinit>(GenLexer.java:14)
... 2 more
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)

问题是,我的VarAcceptor课程有明确定义和实施的dead(int)方法,并且该文件本身并未显示任何错误,否则当您不这样做时正确实施这些方法所以我不知道如何解决这个问题,看到错误对我来说没有意义,正确实施了相关方法。我还在方法中添加了@Override注释。

  static class VarAcceptor extends GenAcceptor implements DFA {

    @Override
    boolean dead(int state) {
        return 0;
    }
}

接口GenAcceptor:

abstract class GenAcceptor {

    abstract String lexClass() ;
    abstract int numberOfStates() ;
    abstract int nextState (int state, char input) ;
    abstract boolean accepting (int state) ;
    abstract boolean dead (int state) ;
}

2 个答案:

答案 0 :(得分:0)

您无法从布尔方法

返回0

答案 1 :(得分:0)

java.lang.RuntimeException: Uncompilable source code - what can cause this?

此链接中描述了错误。这是一个netbeans问题,需要关闭项目属性中的设置。