我在界面中定义了一个方法:
public Object g(String inter,String src,Object...params);
我对实现类中方法定义的@Override注释出错:
public Object g(String inter,String src,Object...params) {}
已解决:问题已通过清理项目解决,可能是由Scala IDE引起的
答案 0 :(得分:1)
你没有说你得到了哪个错误,但除了你当前没有指定返回值之外它应该可以正常工作:
interface Foo {
Object g(String inter, String src, Object...params);
}
class FooImpl implements Foo {
@Override
public Object g(String inter, String src, Object...params) {
return null;
}
}
答案 1 :(得分:0)
试试这个:
public interface testi {
public Object g(String inter,String src,Object...params);
}
public class Test implements testi {
@Override
public Object g(String inter,String src,Object...params) {
Object o = new Object();
return o;
}
public static void main(String... args) {
}
}
答案 2 :(得分:0)
我敢打赌你正在使用Java 5编译器。只有从Java 6开始,@ Override才能用于覆盖接口方法的方法。在Java5中,只允许覆盖超类方法的方法。
答案 3 :(得分:0)
正如Jon Skeet所说,除了缺乏回报价值之外,你的代码应该是正确的。但是,值得一提的是,在版本6之前,java在实现接口中定义的方法时无法识别@Override注释。如果你使用旧版本的可能性很大,那可能会导致你的问题。