如果你有兩個不同的類A和B,B是A的子類,如下所示,你可以不投:自定義對象鑄造方法
A a = new A();
B b = new B();
A newA = (A)b;
有沒有一種方法,使上面的代碼工作(沒有更改上述代碼)沒有JVM拋出ClassCastException?
------------編輯----------
對不起,我在上面的問題的代碼犯了一個錯誤。正確的版本如下:
A a = new A();
B b = new B();
B newB = (B)a;
'class B extends A {}',對吧?即使沒有演員也應該工作。 – 2012-03-19 18:38:31
在任何需要調用「A」類型的對象的情況下,「B」類型的對象都是可行的替代品,不需要強制轉換。 – 2012-03-19 18:39:02
@OliCharlesworth它可能會使dscer工作的上下文...這只是一個簡單的例子 – 2012-03-19 18:39:21