如何引用扩展类和实现接口的类

时间:2013-11-18 06:16:07

标签: java interface

我有一个扩展另一个类并实现一个接口的类,所以现在该类的引用类型是什么。如果我试图将基类型转换为子类型,我现在得到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

1 个答案:

答案 0 :(得分:0)

你不能将子类的对象强制转换为超类。由于超类具有广义特征,而子类具有特殊的特征。

   SuperClass sup = (SuperClass) new SubClass();
   SubClass sub1 = (SubClass) sup;

您可以参考:Casting super class to sub class