从存储在父类变量中的子类变量获取变量

时间:2018-08-22 08:38:43

标签: java

如何访问子类变量?是否有必要转换对象?

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;
}

1 个答案:

答案 0 :(得分:0)

虽然您可以分配varibaleB来键入A(由于B继承自A),但是A没有名为{{1 }}。

当然,您知道它的类型为second,因此可以进行转换:

B

要澄清:您只能访问具体类型的类成员,而不能访问其子类。