为什么变量和辅助方法将在继承下返回两个不同的东西?

时间:2018-11-11 01:09:59

标签: java inheritance

这是两个班

class FirstClass { 
    int x;
    public FirstClass(int n){
        x=n;
    }
    int getx(){
        return x;
    }
}
class SecondClass extends FirstClass { 
    int x;
    public SecondClass(int n){
        super(n*2);
        x=n;
    }
    int getx(){
        return x;
    }
}

但是,如果我执行类似FirstClass obj = new SecondClass(5)的操作,则obj.x为10,而obj.getx()返回5。

我要么期望getx()为5且x为5,或者期望getx()为10且x为10。为什么代码如此工作?

0 个答案:

没有答案