大家帮忙看一个继承的问题
看了马士兵的视频讲座,说:父类的私有成员也会被继承,即使是private,但不能去访问。对私有成员有所有权,但没有使用权。
我写了一个类,
class Test{
private int x=10;
}
public class TestPrivate extends Test{
int x=100;
public static void main(String[] args){
TestPrivate tp = new TestPrivate();
System.out.println(tp.x);
}
}
这样TestPrivate 继承了Test,也继承了私有成员变量 x,但是没有访问它。
如果按马士兵说的,TestPrivate 已经有了一个私有成员变量x,我又定义了一个x,应该会提示重复的变量名,但是现在编译是正确的?难道我理解的有问题?
[解决办法]
你可以理解你在TestPrivate中定义的x覆盖了Test中的x。
子类写的方法也可以覆盖掉父类的方法。
[解决办法]