JAVA向上轉型的簡單示例

2021-06-17 21:23:48 字數 444 閱讀 3132

建立父類person

class person

}

子類student

class student extends person

void introduce()

}

主函式:

//乙個引用能夠呼叫哪些成員 變數和函式,取決於這個引用的型別,也就是指下文中的引用p能夠呼叫哪些變數和函式取決於person當中包含什麼變數和函式

class test

}

輸出結果:

my name is:nullmy age is:0

my address is:null

address輸出null是因為呼叫的introduce是子類的而非父類的。

Java向上向下轉型

向上轉型 b extends a,a a new b 就是向上轉型,此時a的型別為a,指向b,可以理解為把子類物件轉換成了父類物件,即父類的引用指向子類的物件,此時a不能呼叫子類自己新建的方法和變數,但若子類中重寫了父類的某個方法,那麼在呼叫這個方法時,將會呼叫子類的這個方法。向上轉型不存在風險 向...

Java 多型(向上轉型)

先來看一段 class baseclass public void test public class subclass extends baseclass public void sub public static void main string args 說明 當把乙個子類物件直接賦給父類的引...

Java的向上轉型和向下轉型

開源共享 名詞 向上轉型 upcasting 和向下轉型 downcasting 例1 有兩個類,father父類 son子類繼承自父類father father fr new son 這樣把子類物件son 直接賦給父類引用fr叫向上轉型 upcasting 這裡fr引用指向的是son物件。son ...