首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

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

2013-01-02 
java子类复写私有方法问题我很穷的,没多少积分了,20分问个问题下面的代码会输出什么?为什么啊??public cla

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是指只有在该类内部可访问,就连子类也是无法访问的!不只是类方法,还有类成员也是一样。
[解决办法]
引用:
输出:
F-Child
private:Mother
所谓私有性private是指只有在该类内部可访问,就连子类也是无法访问的!不只是类方法,还有类成员也是一样。
补充一点,私有方法没有覆盖或继承的说法。
[解决办法]
私有的方法不能继承过来,谈不上什么覆写了

热点排行