鳥哥Java學習之多型 內部類 物件導向

2021-07-12 06:52:54 字數 552 閱讀 6944

1.多型:乙個物件對應著多種型別。

好處:**擴充套件,前期**可以使用後期的內容

弊端:前期內容不能使用子類特有功能。

2.向上轉型:限制使用子類特有功能,格式:父類 a = new 子類();

注意:將子型別隱藏,就不能使用子類特有功能。

向下轉型:使用特有功能,格式:子類 c = (子類)a;

注意:向下轉型前通常用 instanceof判斷物件的具體型別。if(a instanceof 子類)

3.多型-成員函式:編譯看左邊,執行看右邊(子類)。但是,靜態函式以及成員變數都是看左邊(父類)。

4.內部類

內部類可以直接訪問外部類的成員(outer.this.成員),外部類要訪問內部類,必須建立內部類的物件。

如果內部類是靜態的,相當於乙個外部類,格式:outer.inner  in = new outer.inner();

內部類有靜態成員,則該內部類也必須是靜態的。

匿名內部類:內部類的簡寫格式,其實就是子類物件。此時,內部類必須繼承或者實現乙個外部類或者介面。格式:new 父類or介面(){}

Java 多型和內部類

多型是同乙個行為具有多個不同表現形式或形態的能力。多型就是同乙個介面,使用不同的例項而執行不同操作 比如 parentp newchild 當使用多型方式呼叫方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤 如果有,再去呼叫子類的同名方法。多型的好處 可以使程式有良好的擴充套件,並可以對所有...

java學習之多型

向上轉型是不需要進行強制型別轉換的,但是向上轉型會丟失精度。與向上轉型對應的乙個概念就是 向下轉型 所謂向下轉型,也就是說父類的物件可以轉換為子類物件,但是需要注意的是,這時則必須要進行強制的型別轉換。類似於人壓彈簧 一 向上轉型可以自動完成 二 向下轉型必須進行強制型別轉換。可以用instance...

Java學習之多型

原帖 多型 晚繫結。不要把函式過載理解為多型。因為多型是一種執行期的行為,不是編譯期的行為。多型 父型別的引用可以指向子型別的物件。比如 parent p new child 當使用多型方式呼叫方法時,首先檢查父類中是否有該方法,如果沒有,則編譯錯誤 如果有,再去呼叫子類的該同名方法。注意此處,靜態...