繁体   English   中英

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

[英]how to reference a class which is extending a class and implementing an interface

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

您不能将子类的对象强制转换为超类。因为超类具有一般性,而子类具有特殊性。

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

您可以参考: 将超类转换为子类

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM