可变数目我在接口中定义的方法:覆盖方法用的参数
public Object g(String inter,String src,Object...params);
我正在一个错误与在实现类的方法的定义@Override批注:
public Object g(String inter,String src,Object...params) {}
解决的问题:问题是由清洁工程解决,可能是由Scala的IDE导致
可变数目我在接口中定义的方法:覆盖方法用的参数
public Object g(String inter,String src,Object...params);
我正在一个错误与在实现类的方法的定义@Override批注:
public Object g(String inter,String src,Object...params) {}
解决的问题:问题是由清洁工程解决,可能是由Scala的IDE导致
你还没说其中错误你得到,但它应该工作正常其他比你目前还没有指定一个返回值:
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;
}
}
试试这个:
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) {
}
}
我敢打赌,你使用的是Java 5编译器。只有在Java 6之后,@Override才能用于覆盖接口方法的方法。在Java5中,它只允许用于覆盖超类方法的方法。
正如Jon Skeet所说,除了缺乏返回值之外,您的代码应该是正确的。但值得一提的是,在版本6之前的java在实现接口中定义的方法时并未识别@Override注释。如果你使用的是旧版本,那可能会导致你的问题。
什么是错误? – Mark
它应该可以正常工作,但你必须添加'return someObject'。 – BalusC
你在编译java6 +吗? – bestsss