在Java中,父類和子類之間的轉換是允許的。這種轉換可以通過強制類型轉換來實現。這個過程叫做向下轉換,從父類到子類。
/* 父類 Person */ class Person { void show() { System.out.println("I am a person."); } } /* 子類 Student */ class Student extends Person { void show() { System.out.println("I am a student."); } void study() { System.out.println("I am studying."); } } /* 向下轉換 */ Person p = new Student(); // 創建一個 Student 對象,并將其引用賦值給 Person 類型的變量 ((Student) p).study(); // 將 Person 類型的變量強制轉換為 Student 類型并調用 study() 方法
父類和子類之間的轉換需要滿足一定的條件,否則會拋出異常。父類對象必須指向子類對象才能進行強制類型轉換。如果不滿足這個條件,在運行時會拋出 ClassCastException 異常。
此外,強制類型轉換也需要注意類型的安全性,如果將一個父類轉換為與其無關的子類,會導致程序錯誤。