基本クラスとその子クラスの間のキャストについて質問があります。
(1) なぜこれが許されるのか?
BaseClass b = new ChildClassA();
ChildClassA c = (ChildClassA)b
(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;