五、面向對象篇
34extends和implements有什么不同?
答:extends用于(單)繼承一個類(class),而implements用于實現一個接口(interface)。
interface的引入是為了部分地提供多繼承的功能。
在interface中只需聲明方法頭,而將方法體留給實現的class來做。
這些實現的class的實例完全可以當作interface的實例來對待。
有趣的是在interface之間也可以聲明為extends(單繼承)的關系。
35java怎么實現多繼承?
答:java不支持顯式的多繼承。
因為在顯式多繼承的語言例如c++中,會出現子類被迫聲明祖先虛基類構造函數的問題,
而這是違反面向對象的封裝性原則的。
java提供了interface和implements關鍵字來部分地實現多繼承。參見34。
36abstract是什么?
答:被聲明為abstract的方法無需給出方法體,留給子類來實現。
而如果一個類中有abstract方法,那么這個類也必須聲明為abstract。
被聲明為abstract的類無法實例化,盡管它可以定義構造方法供子類使用。
文章來源于領測軟件測試網 http://www.kjueaiud.com/