比方说,我们已经有了内部类(代码的其余部分是不是真的很重要我猜,DataStructureIterator
只是通过java.util.Iterator<Integer>
扩展接口):Java接口VS类的返回类型
private class EvenIterator implements DataStructureIterator
。
现在我们要创建一个返回EvenIterator的新实例的方法。当我发现我们能做到以不同的方式:
public EvenIterator getEvenIterator(){return new EvenIterator();}
public DataStructureIterator getEvenIterator() {return new EvenIterator();}
我发现代码的两个版本编译好,但我只是不能有什么区别(如果有的话)和应该使用哪个版本。
这是OOP的核心原理。你可以找到书籍,博客文章,视频和更多的回答这个问题比你所希望的更详细。尝试搜索“多态性”。 – Sam
@Sam我正在从oracle教程学习,多态部分还没有,所以我分析的例子,我无法得到它。我会阅读有关它,谢谢! – Kubekk