第十二天 多型詳解

2021-10-07 11:22:52 字數 1155 閱讀 7354

多型

概念:一種事物,多種體現狀態。

實現多型前提:繼承,重寫,向上轉型。

屬性看型別,方法看物件

父子出現同名屬性:當父類引用指向子類物件時,使用物件名呼叫父類同名屬性,參考物件名定義時使用的型別

父子出現同名方法:當父類引用指向子類物件時,使用物件名呼叫父類同名方法,參考定義物件時使用的型別

向下轉型的前提:必須存在向上轉型,才有向下轉型的可能

father f = new father();

son s = (son)f; //此時不能實現向下轉型,父類引用指向子類物件時才可以向下轉

instanceof關鍵字:物件名.instanceof 所屬型別//返回的是乙個布林型別的值(向下轉型時可以採用instanceof進行判斷是不是所屬的物件)

注意:①父類引用可以指向子類物件,但是子類引用不可以指向父類物件;

②如果父類的屬性用private進行了封裝可以呼叫父類的getter方法獲得父類中的屬性

多型常用型別:

①用父類作為方法的形參

petservice ps= new petservice();

pet p1 = new dog(「小黑」,「中華田園犬」);//也可以建立父類物件陣列用來存放父類物件引用

ps.someoneeatsomething(p1);

ps.someoneshout(p1);

***②用父類作為方法的返回值(在處理物件時可以採用instanceof看判斷是不是需要的物件)//在處理物件返回值的時候,注意要對返回值進行判斷是否為空(***)

為什麼使用向下轉型?

每個子類物件可能會存在個性方法,當使用向上轉型後,又想呼叫子類個性方法,此時出現**異常,這時候為了解決問題,採取向下轉型

public abstract class human public class student extends human

public student()

@override

public void work()

public string play()

}public class hunamservice

public human findperson(int type)else if(type2)else if

}

JS第十二天

a dom2級規範定義了一些模組,用於dom1級,dom2級核心 為了不同的dom型別引入了一些與xml命名空間有關的方法,這些變化只在使用xml或者是xhtml文件的時才有用 對於httml文件沒有實際的意義,除了與xml命名空間有關的方法外,dom級核心 還定義了以程式設計凡事建立documen...

java第十二天

b 案例演示 a 非正規表示式實現 b 正規表示式實現 b 案例演示 b 案例演示 1 a b c 2 a 3 b c 4 c 組零始終代表整個表示式。b 案例演示 a 切割 需求 請按照疊詞切割 sdqqfgkkkhjppppkl b 替換 需求 我我 我 我.要 要要 要學 學學.學.編.編編....

springboot第十二天

springboot1.0,2014年發布,預設資料庫連線池為 tomcat jdbc pool springboot2.0,2018年3月1日發布,預設資料庫連線池為 hikari 1.專案建立選擇元件 mysql,jdbc web spring datasource username root ...