我很穷的,没多少积分了,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();
}}
下面的代码会输出什么?为什么啊??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是指只有在该类内部可访问,就连子类也是无法访问的!不只是类方法,还有类成员也是一样。