以下是我的超类和子类示例:
public abstract class a
{
method 0;
}
class b extends a
{
method 1;
}
还有一个称为 c
的类。我想在类 c 中进行以下操作。C是另一个文件中的类,但在同一个包中。
class c
{
c val;
public c
{
a var1 =( (b)val.method0()).method1;
}
}
但是在运行程序时,我遇到了一个异常,提示无法将类型a强制转换为类型b。有人有什么建议可以解决这个问题吗?
以下是我收到的实际异常错误。(我上面写的是一个演示)
Exception in thread "main" java.lang.ClassCastException: classfileparser.ConstantClass无法转换为 classfileparser.ConstantUtf8,在classfileparser.ClassFile.(ClassFile.java:50) 中, 在classfileparser.ClassFileParser.main(ClassFileParser.java:18)中 C:\Users\Dave\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java返回:1 BUILD FAILED(总时间:0秒)
c
转换为某些b
,但这是不可能的,因为这些类之间没有任何继承关系(特别是因为b
不是c
的超类)。 - Turing85