引用資料型別轉型分為兩種,一種是向上轉型,另一種是向下轉型。
例:
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值,卻不必進行造型處...