如何访问子类变量?是否有必要转换对象?
public class A {
int first;
}
public class B extends A{
int second;
}
public void doTheMagic(){
B variableB = new B();
A variableA = variableB;
variableA.second; //-> second is unknown;
}
答案 0 :(得分:0)
虽然您可以分配varibaleB
来键入A
(由于B
继承自A
),但是A
没有名为{{1 }}。
当然,您知道它的类型为second
,因此可以进行转换:
B
要澄清:您只能访问具体类型的类成员,而不能访问其子类。