第十章 多型 內部類

2021-07-26 08:59:29 字數 1225 閱讀 2613

10.1 多型概述

多型是指乙個物件對應不同型別的引用,體現為父類或介面指向子類物件。

cat c = new cat(); //正常

animal a = new cat(); //多型

多型的使用提高了**的可擴充套件性。

10.2 弊端 & 前提

弊端:只能呼叫父類成員方法

前提;兩者為繼承或實現關係,並且有覆蓋的功能

10.3 多型的轉型

animal a = new cat();

a.eat();//父類方法

cat c = (cat) a;

c.eat(); 子類方法

10.4 型別判斷 instanceof

判斷是否為該類例項,返回布林值。

animal a = new cat();

a.eat();//父類方法

if (a instanceof cat)

10.5 多型下的成員

1)成員以引用型別中是否有次變數為準。

2)函式編譯時以引用為準,執行時以物件為準。

3)靜態函式:不存在多型性(以類為準)

10.6 內部類

將乙個類定義在乙個類內部

class a

}

內部類可以直接訪問外部類成員。

外部類需要例項化乙個內部類才能訪問內部類成員。

如果乙個內部類是靜態的,則相當於乙個外部類

outer.inner in = new outer(). new inner();

如果乙個內部類中有靜態成員,該類必須為靜態類(外部類不能呼叫)

outer.inner in = new outer.inner();

10.7 區域性內部類

內部類定義在區域性位置上

區域性內部類呼叫的區域性變數必須為final值,因為方法呼叫結束後出戰,後期區域性內部類的方法呼叫不到變數。

10.8 匿名內部類

前提:內部類必須繼承乙個外部類或實現乙個介面

就是乙個匿名子類物件

new demo()

}

常用場景:

函式引數是介面,且介面的方法較少,可用匿名內部類作實參。

第十章 函式

使用def關鍵字 定義個數可變的位置形參 定義個數可變的關鍵字形參 定義預設值引數 定義個數可變的位置形參 deffun1 args 結果為乙個元組 print args fun1 10,20,30 10,20,30 定義個數可變的關鍵字形參 deffun2 args 結果為乙個字典 print a...

第十章 屬性

z屬性 本章也比較簡單稍作介紹 無參屬性就是我們常見的屬性 可以封裝屬性 以執行緒安全方式訪問 有參屬性就是c 中的所引器 匿名型別 如圖遇到如下 具體點就是 上面的注釋也已經講清楚了,定義的型別之後,構造例項,然後初始化屬性。現在詳細說下 編譯器接收到 上圖 先用var 定義乙個型別,但是不具體指...

第十章 屬性

目錄 10.1 無參屬性 10.2 有參屬性 10.3 呼叫屬性訪問器方法時的效能 10.4 屬性訪問器的可訪問性 10.5 泛型屬性訪問器方法 物件導向設計和程式設計的重要原則之一就是資料封裝,意味著型別的字段不應該公開,否則很容易因為不恰單使用欄位而破壞物件的狀態。可將屬性想象成智慧型字段,即背...