如果你有两个不同的类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