1. 程式人生 > >14 Java基礎筆記-多型

14 Java基礎筆記-多型

多型

一,多型概述

Java的多型體現在一個子類物件既可以給這個子類引用變數賦值,又可以給這個子類的父類變數,父類引用變數可以指向子類物件。

要點:

1,使用多型後的父類引用變數呼叫方法時,會呼叫子類重寫後的方法。
2,多型的前提是必須有子類父類關係或者實現介面關係。

二,多型的宣告定義

格式:

父類型別 變數名 = new 子類型別;
變數名.方法名();	   
      
     普通類:父類 變數名 = new 子類();
     抽象類:抽象類 變數名 = new 抽象子類();
     介面:介面 變數名 = new 介面實現();

父類的引用變數指向子類物件。

三,多型的成員特點

1,成員變數編譯的時候,會參考父類中是否有這個變數,若有,編譯成功;若無編譯失敗。編譯執行全看父類。

2,成員方法編譯的時候,會參考父類中是否有這個方法,若有,編譯成功;若無,編譯失敗。編譯時看父類,執行看子類。

四,instanceof 關鍵字

關鍵字instanceof 用於引用資料型別的比較,判斷某個物件是否屬於某種資料型別。

格式:

boolen b = 物件 instanceof 資料型別;

五,多型向上轉型

java是一種強制資料型別的語言,引數運算的資料,保證資料型別的統一性,若運算的兩個資料型別不同時,出現自動型別提升,將取值範圍小的自動提升為取值範圍大的,故而範圍小的看成子類,範圍大的看成父類。

格式:

父類型別 變數名 = new 子類型別;

六,多型向下轉型

指父類型別強制轉回子類型別,作用是其子類可呼叫特有的功能。

格式:

子類型別 變數名 = (子類型別)父類型別的變數