java 面試基礎

1.什麼是面對對象?

面向對象編程是使用類,對象,繼承性、多態性、封裝性和抽象的一種程序設計方法。

注意“基於對象”和“面向對象”的區別

1.基於對象,通常是指的是對數據的封裝,以及提供一組方法對封裝過的數據操作。

2.面向對象,則是基於對象的基礎上增加了多態性。所謂的多態,就是可以用統一的方法對不同的對象進行同樣操作。

2.什麼是多態?

多態即事物在運行過程中存在不同的狀態。多態可以分爲編譯時多態和運行時多態,編譯多態是指方法重載,運行多態是指方法重寫

對於運行多態需要滿足以下三點:

1.要有繼承關係

2.子類重寫父類方法

3.父對象的引用指向子類對象

多態實現的機制

其實就是依靠靜態分配和動態分配

動態分配是指在運行期間才能確定變量的實際類型,典型的就是方法重寫。只有在運行期間。根據實例化子類的不同,調用不同子類中重寫的方法。

靜態分配是指在編譯時期就能完全確定,在類加載的解析階段就會把涉及的符號轉化爲可確定的直接引用,不會延遲到運行期再去完成,典型的例子就是方法重載。

3.接口與抽象類的區別?

抽象類是一個包含具體方法和抽象方法的(方法未被實現)的類,抽象方法必須被該抽象類的子類實現。抽象類是可以繼承的。

接口是描述類的一站藍圖或者說是類的一種契約,他包含了許多空方法,這代表着它的所有子類都應該擁有共同點。他的子類應該提供這些方法的具體實現。一個類需要用implement來實現接口,接口可以用extends集成其它接口。

後續會繼續更新

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章