多型與抽象

2021-08-27 21:08:17 字數 578 閱讀 1308

動態多型技術基礎

向上轉型

引用資料型別轉型,只能發生在父子之間。不能指鹿為馬

子類和子類之間,不是父子關係,不能相互轉換

為什麼父類的引用,可以指向子類的實現?

因為子類的例項中,一定擁有乙個完整的父類的所有的值資料

引用資料型別向上轉型,是指子類向父類轉型,這個編譯器會自動識別,能自動轉換成功,原因是:父類的範圍》子類的範圍

向下轉型

引用資料型別,向下轉型是有風險的,不是說一定可以成功,如果需要轉型成功,必須滿足2個條件

1、 必須是父類的引用指向乙個子類的實現

2、 子類的引用最終指向相同型別的子類實現

如果乙個類中存在抽象方法,那麼這個類也是乙個抽象類。抽象類無法例項化

抽象類中可以繼續編寫:屬性、行為、甚至構造都可以,構造器此時的作用,並非是為了建立物件,而是用於分配成員變數的儲存空間

乙個類中如果有抽象方法,這個類一定是抽象類。但抽象類中不一定必須要有抽象方法(語法上)

多型與抽象

多型相同的行為,不同的實現。多型的分類 靜態多型 編譯時,系統就能決定呼叫哪個方法 單獨的重寫也是靜態多型 動態多型 執行中系統才能動態確定方法所指的物件。多型的實現 靜態多型 使用過載實現 動態多型 基本型別 引用型別 發生 左右兩端,賦值的時候 轉換形式 1自動 小轉大 1自動 向上轉換 子類繼...

筆記 多型與抽象相關

最近有些累了.多型多型就是物件的多種狀態 多型的兩種形式 使用父類作為方法形參實現多型 使用父類作為方法返回值 三要素編寫具有繼承關係 的父類和子類 子類重寫父類方法 使用 父類的引用指向子類的物件 抽象類抽象類是為子類提供乙個 規範 修飾符 abstract 類名 修飾符 abstract 返回值...

抽象類 多型與介面

abstract 修飾的類為抽象類 方法為抽象方法。含有抽象方法,必被宣告為抽象類。抽象類不能例項化。不能修飾私有方法 構造器 靜態方法 final方法。final 修飾的類不能被繼承 修飾的方法不能被子類重寫 標記的變數名稱大寫且只能被賦值一次。介面介面中所有方法均為公共抽象方法。pulic ab...