Java 如何引用正在扩展类并实现接口的类

Java 如何引用正在扩展类并实现接口的类,java,interface,Java,Interface,我有一个类,它扩展了另一个类并实现了一个接口,那么现在这个类的引用类型是什么呢 比如说 public class Child extends Parent implements SomeInterface { } SomeInterface childObject = new Child(); childObject2 = (Child)childObject; 或 在这两种情况下,我都得到了类强制转换异常您不能将子类的对象强制转换为超类。因为超类具有广义特征,而子类具有特殊特征 S

我有一个类,它扩展了另一个类并实现了一个接口,那么现在这个类的引用类型是什么呢

比如说

public class Child extends Parent implements SomeInterface
{

}

SomeInterface childObject = new Child();
childObject2 = (Child)childObject;


在这两种情况下,我都得到了类强制转换异常

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

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

您可以参考:

您可以发布stacktrace吗?我在上面的代码中没有看到任何错误。你所做的每一件事都是有效的。张贴你的完整记录
   SuperClass sup = (SuperClass) new SubClass();
   SubClass sub1 = (SubClass) sup;