我有一个扩展另一个类并实现一个接口的类,所以现在该类的引用类型是什么。如果我试图将基类型转换为子类型,我现在得到ClasscastException
例如
public class Child extends Parent implements SomeInterface
{
}
SomeInterface childObject = new Child();
childObject2 = (Child)childObject;
或
Parent p = new Child();
childObject2 = (Child)p;
在这两种情况下我都会得到class cast exception
答案 0 :(得分:0)
你不能将子类的对象强制转换为超类。由于超类具有广义特征,而子类具有特殊的特征。
SuperClass sup = (SuperClass) new SubClass();
SubClass sub1 = (SubClass) sup;