有效的java鼓勵使用接口而不是抽象/具體類。 問題是如果有一個接口heirachy,應該選擇哪種接口類型,爲什麼?哪個界面更喜歡哪個界面?
例如,ArrayList
實現List
,其實現Collection
,其實現Iterable
。 那麼我們什麼時候通過list
vs collection
vs iterable
?
顯而易見的答案是,每個子類不斷增加更多的功能。那麼,我們應該繼續爬上層次結構,直到所需的功能匹配? 我的意思是,如果在虛構應用中只需要iterator()
然後使用Iterable
否則使用List
?
如果API – MadProgrammer
的偏好將滿足需求,但如果超過兩個滿足,那麼我們採取層次最高的一個嗎? – JavaDeveloper
我會採取最清楚解釋你想要做的事情。這可能是最高的,但有時這對於您的目的而言過於通用。例如,經常用'Set'替換'Collection',因爲它們有相同的方法,但只有'Set'表示你期望元素是唯一的。 –