java面試題:面向對象三特性

Java面向對象的特徵是什麼:

三大特徵是:封裝、繼承和多態。
封裝:是指將某事物的屬性和行爲包裝到對象中,對外只開放一個可以訪問它的接口
繼承:子對象可以繼承父對象的屬性和行爲
多態:指父對象中的同一個行爲能在其多個子對象中有不同的表現

封裝:

封裝在java中的體現:

方法,關鍵字private

封裝就是將一些細節信息隱藏起來,對於外界不可見。

繼承:

1.父子繼承關係中,如果成員變量重名,則創建子類對象時,訪問有兩種方式

直接通過子類對象訪問成員變量

​ 等號左邊是誰,就優先使用誰,沒有則向上找

間接通過成員方法訪問成員變量

​ 該方法屬於誰,就優先使用誰,沒有則向上找

2.繼承中的三種成員變量重複如何使用

局部變量:直接寫

本類的成員變量:this.成員變量名

父類的成員變量:super.成員變量名

3.父子繼承關係中,創建子類對象,訪問成員方法的規則

創建的對象是誰,就優先使用誰,如果沒有則向上找。

4.方法覆寫重寫覆蓋的方式:

必須保證父子類方法名相同,參數列表也相同

子類方法的返回值必須小於等於父類方法的返回值

子類方法的權限必須大於等於父類的權限

5.繼承關係中,父子類構造方法的訪問特點:

先調用父類構造方法,然後調用子類構造方法。

子類構造使用super調用父類重載構造。(默認調用無參構造)

super的父類構造調用,必須是子類構造方法的第一個語句。

6.super使用:

在子類的成員方法中,訪問父類的成員方法

在子類的成員方法中,訪問父類的成員變量

在子類的構造方法中,訪問父類的構造方法

7.this的使用

在本類的成員方法中,訪問本類的成員變量

在本類的成員方法中,訪問本類的另一個成員方法

在本類的構造方法中,訪問本類的另一個構造方法,

注意:

此時this也必須是構造方法的第一個語句,唯一一個

super和this兩種構造調用,不能同時使用。

8.java繼承

java語言是單繼承的

java可以多級繼承

一個子類直接父類是唯一的,但是一個父類可以擁有很多子類

多態

1.多態性:指的是對象的多態,在代碼上是父類引用指向子類對象

格式:父類名稱 對象名=new 子類名稱()

​ 接口名稱 對象名=new 實現類名稱()

成員變量訪問:編譯看左邊,運行看左邊

成員方法訪問:編譯看左邊,運行看右邊

2.對象的向上轉型:

父類名稱 對象名=new 子類名稱()

向上轉型一定是安全的。從小範圍轉向了大範圍。

3.對象的向下轉型:

對象一旦向上轉型爲父類,那麼就無法調用子類原本特有的內容。

子類名稱 對象名=(子類名稱)父類對象;

如何進行安全的向下轉型:明白一個父類的引用對象,本來是一個什麼子類

4.對象 instanceof 類型

判斷前面對象能不能當作後面類型的實例,爲了避免類轉換異常。

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