比方說,我們已經有了內部類(代碼的其餘部分是不是真的很重要我猜,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