当前位置: 代码迷 >> J2SE >> java子类复写私有方法有关问题
  详细解决方案

java子类复写私有方法有关问题

热度:8228   发布时间:2013-02-25 21:55:05.0
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
所谓私有性private是指只有在该类内部可访问,就连子类也是无法访问的!不只是类方法,还有类成员也是一样。
补充一点,私有方法没有覆盖或继承的说法。输出:
F-Child
private:Mother
第一个结果你懂得

子类不能覆盖父类的私有方法。
而且Child没有覆盖Father的prt方法。
所以第二个实际上调用的是Father的printM方法。
私有的方法不能继承过来,谈不上什么覆写了输出:
F-Child
private:Mother

所谓私有性private是指只有在该类内部可访问,就连子类也是无法访问的!不只是类方法,还有类成员也是一样。