-3
當我執行下面的代碼時,爲什麼會出現ClassCastException?我得到一個ClassCastException,但我的源類型對象是超類型,並且演員操作符是子類型
class Test extends Test3 {
public static void main(String[] args) {
Test3 t3 = new Test3();
Test t = (Test) t3;
System.out.print("hello");
}
}
因爲'Test3'不是'Test':'Test'是'Test3'。 「哺乳動物」不是「狗」,而是「狗」是「哺乳動物」。 –
這正是你無法做到的。你不能將對象投射到它不是的東西上。 – SLaks