Java機制中多態的一些補充

多態

Java中引用變量有兩種類型:

1,編譯時類型 2,運行時類型
編譯時由聲明該變量的類型決定
運行時由賦給該變量的對象決定

當編譯時類型和運行時類型不一致的時候,就會出現多態這個概念。
在Java程序中,引用變量只能調用聲明該變量時所有類中包含的方法

Object p = new person

實例變量p只能調用object類中的方法
(實際上p包含有person類中的方法,通過反射可以執行該方法)
如果需要調用它運行時的方法,就必須將該引用變量強制轉型

注意:

基本類型的轉型只能在數值類型之間進行
引用類型之間的轉換只能在具有繼承關係的類型之間進行

在寫程序的時候,一般結合instanceof 進行判斷是否可以轉換
一般情況下,子類對象賦值給父類是沒有問題的,但把父類對象賦給子類的時候就會出現classcaseexception異常,所以還是應該使用instanceof運算符進行判斷。

if( s2 instanceof String){
	String s = (String) s2 ;
}

instanceof運算符

用途: 用於判斷A是否屬於B或B的子類或B的實例,返回布爾值
格式: A instanceof B

A通常是一個引用類型變量 B通常是一個類或者接口
一般和強制類型轉換一同使用,用於判斷一個對象是否可以進行強制類型轉換

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章