下面的这个java程序的结果为什么是这个---1

来源:百度知道 编辑:UC知道 时间:2024/05/15 09:44:26
package com.test;

class Father {
//public String showMe(){
private String showMe() {
return "Father";
}

public void print(){
System.out.println(showMe());
}
}

public class Son extends Father{
public String showMe(){
return "Son";
}
public static void main(String[] args){
Son son = new Son();
son.print();
}
}
上面的这段程序打印的为什么是“Father”,而不是“Son”

因为在你的Son类里并没有重写父类Father里的print()方法,所以你用son.print();调用的是父类Father里的print()方法!!!

而且你也没有调用Son类里的showMe()方法!!!所以结果必然为"Father"

private String showMe()

子类不能重写父类这个私有方法

同意1340751953的说法,父类的showMe是private的