java子类复写私有方法问题
我很穷的,没多少积分了,20分问个问题
下面的代码会输出什么?为什么啊??
public class ExtendTest {
public static void main(String[] args) {
new Child().prt();
}
}
class Child extends Father {
public void printF() {
System.out.println("F-Child");
}
public void printM() {
System.out.println("M-Child");
}
}
class Father {
public void printF() {
System.out.println("public:Father");
}
private void printM() {
System.out.println("private:Mother");
}
public void prt() {
printF();
printM();
}
}
------解决方案--------------------输出:
F-Child
private:Mother
第一个结果你懂得
子类不能覆盖父类的私有方法。
而且Child没有覆盖Father的prt方法。
所以第二个实际上调用的是Father的printM方法。
------解决方案--------------------私有方法、静态方法没有重写一说,自然不存在多态
------解决方案--------------------输出:
F-Child
private:Mother
所谓私有性private是指只有在该类内部可访问,就连子类也是无法访问的!不只是类方法,还有类成员也是一样。
------解决方案--------------------补充一点,私有方法没有覆盖或继承的说法。
------解决方案--------------------私有的方法不能继承过来,谈不上什么覆写了