1.向上轉(zhuǎn)型
2.向下轉(zhuǎn)型
什么是向上轉(zhuǎn)型?
向上轉(zhuǎn)型------將子類的對象賦值給父類的引用
Student s = new Student();
Person p = s;
堆內(nèi)存中一個對象,棧內(nèi)存中兩個引用
一個引用能夠調(diào)用哪些成員(變量和函數(shù)),取決于這個引用的類型
為什么使用向上轉(zhuǎn)型?
減少重復(fù)代碼
當一個父類下的許多子類都需要一個方法時,只需要在父類中寫這個方法,然后在主程序中用向上轉(zhuǎn)型調(diào)用父類的這個方法,通過新建子類的對象找到對應(yīng)的子類。達到所有的子類都可以使用這個方法的目的,而不需要在所有的子類中編寫這個方法,減少了重復(fù)代碼的出現(xiàn)
什么是向下轉(zhuǎn)型?
向下轉(zhuǎn)型------將父類的對象賦給子類的引用
Student s1 = new Student();
Person p = s1;
Student s2 = (Student)p;
堆內(nèi)存中一個對象,棧內(nèi)存中三個引用
在進行向下轉(zhuǎn)型時一定要強制轉(zhuǎn)換保證向下轉(zhuǎn)型的準確性,開發(fā)中一定要慎用向下轉(zhuǎn)型
為什么使用向下轉(zhuǎn)型?
開發(fā)應(yīng)用時經(jīng)常需要子類進行向上轉(zhuǎn)型,在向上轉(zhuǎn)型時往往會丟失子類一部分東西,這時我們使用向下轉(zhuǎn)型時,可以把子類丟失的那部分東西拿回來