我有这样的界面:
public interface FruitGetter {
public Fruit getFruit();
public List<Fruit> getFruits(int numFruit);
}
水果是我可以为不同类型的水果实施的界面。
我的困惑来自于实施上述两种方法似乎不一致的事实:
@Override
public Apple getFruit(){return new Apple();}
@Override
public List<Apple> getFruits(int numFruit){ //you get the idea}
有人可以解释为什么第二个实现是不兼容的返回类型,而第一个方法似乎正常工作?