引用資料型別轉型及多型的體現

2021-09-26 01:45:50 字數 1083 閱讀 7294

引用資料型別轉型分為兩種,一種是向上轉型,另一種是向下轉型。

例:

class

person

class

student

extends

person

class

text

}

這是多型的一種體現(多型:一種事物的多種表現形式)。

向上轉型中的兩個類必須是繼承關係。

執行順序:父類靜態塊–>子類靜態塊–>父類構造塊–>父類構造器–>子類構造塊–>子類構造器

若兩個類中有相同的方法,那麼程式執行時會呼叫子類中重寫的方法,且對子類新增方法不可見

若兩個類中有相同的變數,那麼程式執行時會呼叫父類的變數。

例:

class

person

}class

student

extends

person

public

static

void

eat()}

class

text

}

例:

class

person

class

student

extends

person

class

text

}

若父類被不止乙個子類繼承,那麼會在向下轉型時會發生轉型異常(classcastexception),需要用 instanceof 判斷乙個類的物件是否為乙個類的例項,如果是返回true,否則返回false。

引用資料型別 instanceof 類

例:

class

person

class

student

extends

person

class

daughter

extends

person

class

text

}

Java多型的體現 轉型

子類的物件賦值給父類的引用 student s new student person p s 也就是person p new student 乙個引用能夠呼叫哪些成員 變數和方法 取決於這個引用的型別 即父類 乙個引用呼叫的是哪乙個方法,取決於這個引用所指的物件 即子類 將父類的物件賦值給子類的引用...

基本資料型別及轉型

1 整數型 byte 1位元組 short 2位元組 int 4位元組 long 8位元組 2 浮點型 float 4位元組 double 8位元組 3 字元型 char 2位元組 4 布林型 boolean 1位元組 long整型數,在記憶體中占用8個位元組共64位,它表示的數值有2的64次方,平...

java資料型別轉型

小型別可直接自動轉大型別,無需存在繼承或實現的關係 在char,byte 和 short中,我們可看到算術運算子的 轉型 效果。對這些型別的任何乙個進行算術運算,都會獲得乙個int結果。必須將其明確 造型 回原來的型別 縮小轉換會造成資訊的丟失 以便將值賦回那個型別。但對於int值,卻不必進行造型處...