我有關於在基類和其子類之間進行投射的問題:在基類和子類之間進行投射
(1)爲什麼允許這樣做? (2)爲什麼不允許這樣做?爲什麼不允許這樣做?
ChildClassA c = (ChildClassA)new BaseClass();
BaseClass b = (BaseClass)c;
(3)爲什麼允許這樣做?
BaseClass b = new BaseClass();
ChildClassA c = (ChildClassA)c;
(4)爲什麼允許這樣做?
ChildClassA c = new ChildClassA();
BaseClass b = (BaseClass)c;
注意,(2)*是*編譯器允許 - 但你會在運行時得到一個'InvalidCastException' –