更新時間:2024-04-21 15:01:11 來源:動力節點 瀏覽1976次
在 Java 中,向上轉型和向下轉型都是對象類型的轉換方式。
向上轉型是將一個子類對象轉換為它的父類類型,可以理解為子類對象變為父類對象,也可以稱為自動類型轉換。這種轉型是安全的,因為子類對象具有父類對象的所有屬性和方法,所以可以直接賦值給父類類型的變量。語法如下:
父類類型 變量名 = new 子類類型();
Animal animal = new Dog();
這里將一個 Dog 對象轉換為它的父類 Animal 類型,可以通過 Animal 對象來調用 Dog 類的方法。
向下轉型是將一個父類對象轉換為它的子類類型,需要使用強制類型轉換符進行轉換,也稱為強制類型轉換。這種轉型是有風險的,因為父類對象可能并不是一個子類對象,如果進行強制類型轉換會拋出 ClassCastException 異常。語法如下:
子類類型 變量名 = (子類類型) 父類類型變量名;
Animal animal = new Dog();
Dog dog = (Dog) animal;
這里將一個 Animal 對象轉換為它的子類 Dog 類型,如果在運行時發現 animal 實際上不是一個 Dog 對象,就會拋出 ClassCastException 異常。
需要注意的是,向上轉型是隱式的,不需要使用強制類型轉換符;而向下轉型是顯式的,需要使用強制類型轉換符,并且需要保證轉換的安全性。
相關閱讀
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習