我的课程如下
public interface A {
public void doSomething();
}
public abstract class B implements A {
public void doOneMoreThing() {
// Do one more thing
}
}
public class C extends B {
@Override <---- Causes error
public void doSomething() {
// Do something
}
}
有人可以告诉我,为什么这个@Override注释会导致错误?
由于 Nayn
答案 0 :(得分:5)
检查您是否正在使用JDK 1.6,并且-source和-target参数(如果已定义)设置为1.6。 @Override的语义在Java 6中发生了变化。 在Java 5中,不允许@Override覆盖接口方法(仅限超类方法),但在Java 6(以及最新版本的JDK 5,从u21开始)中允许使用@Override
答案 1 :(得分:2)
你应该使用
@覆盖
你写了@Overrides然后它不再起作用了;)