第一个问题
当你在父类定义一个 private int x=1; 之后,你的子类继承父类的时候,就继承不了x的值
因为x是父类私有的,他不允许子类使用
而在子类中再写 int x =2; 这已经是一个新的子类中的变量x了,与父类的x没有任何关系,所以x不是私有的
第二个问题
b.get(2) 这个方法调用的是父类的方法
void get(int x){this.x =x;}
在父类中,this.x代表的是父类的x,所以b.get(2) 的作用是把父类的x的值改变成2
而子类中的x没变
当System.out.println(b.x);语句执行时,输出的是b中的x,所以输出为1 |