多型
概念:一種事物,多種體現狀態。
實現多型前提:繼承,重寫,向上轉型。
屬性看型別,方法看物件
父子出現同名屬性:當父類引用指向子類物件時,使用物件名呼叫父類同名屬性,參考物件名定義時使用的型別
父子出現同名方法:當父類引用指向子類物件時,使用物件名呼叫父類同名方法,參考定義物件時使用的型別
向下轉型的前提:必須存在向上轉型,才有向下轉型的可能
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 ...