子对象的父引用(父obj = new child())

时间:2019-12-17 15:05:28

标签: java inheritance

这里ex是子对象的父引用 如果我在派生类中声明int x,则输出更改为20,20
但是,如果我不在派生类中声明x,则输出为30,4 我在想如果我在派生类中声明x,是否会创建x的2个副本? 请帮助

rho

1 个答案:

答案 0 :(得分:0)

使用extend(继承)时,孩子需要使用super来访问父级的方法和数据字段。无需在子级中重新定义变量x

考虑以下代码块:

public class Derived extends Base
{
    int z;

    public Derived()
    {
        super();  // call the parent's constructor
        System.out.println(" derived constructor running");
        super.x = 30;   // access parent's data field x
    }   

    public void setVal()
    {
        System.out.println(" x value changed in derived");
        super.x = 4;
    }
}