如果我有这个界面:
public interface Foo {
void bar();
}
为什么我不能像这样实现它?
public class FooImpl implements Foo {
@Override
public Object bar() {
return new Object();
}
}
似乎 void 应该与一切都是协变的。我错过了什么吗?
编辑:我应该更清楚我正在寻找设计理由,而不是它无法编译的技术原因。使 void 对所有内容都协变会产生负面影响吗?