在Java中,可以使用類型轉換(type casting)將一個數據類型轉換為另一個數據類型。類型轉換有兩種形式:向上轉型(upcasting)和向下轉型(downcasting)。
例如:
class Animal {}
class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
Dog dog = new Dog();
Animal animal = dog; // 向上轉型,將Dog對象轉換為Animal對象
}
}
instanceof
關鍵字檢查對象是否為子類的實例,以避免運行時錯誤。例如:
class Animal {}
class Dog extends Animal {}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog();
Dog dog = (Dog) animal; // 向下轉型,將Animal對象轉換為Dog對象
if (animal instanceof Dog) {
Dog d = (Dog) animal; // 使用instanceof關鍵字進行類型檢查
} else {
System.out.println("The object is not an instance of Dog.");
}
}
}
注意:在進行向下轉型時,如果對象不是子類的實例,將拋出ClassCastException
異常。因此,建議在使用instanceof
關鍵字進行類型檢查。