B类是A的内部类.B类扩展了C类,它也是A的内部类。
class A{
class C{
}
class B extends C{
}
}.
如何从类A外面将类型C的对象转换为B类? 我正在尝试(A.B)objectOfC,但这不起作用
好的,我得到的错误是java要求我把“()”放在“(A。”之后。当我这样做时,它说“非法表达的开始。”
答案 0 :(得分:2)
class A {
class C {}
class B extends C {}
B b() {
return new B();
}
}
public class So9961167 {
public static void main(String[] args) {
A a=new A();
A.C b=a.b();
if(b instanceof A.B) {
A.B b2=(A.B)b;
System.out.println("it worked!");
}
}
}
答案 1 :(得分:0)
这是一种记住投射方式的简单方法:
孩子就像他的父母 - 因为孩子从父母那里继承。
父母与他的孩子不一样 - 因为父母没有从他的孩子那里继承任何东西。
因此,你无法将C转换为B - 这在本质和编程中是不可能的。