java的静态方法不能被重写,如果子类“重写”了父类方法,它只是隐藏了父类的方法
public class test {
public static void main(String[] args) {
m tmp = new n();
n.show();
//此处执行的结果打印出n,父类方法被子类重写了
}
}
public class m {
public void show() {
System.out.println("m");
}
}
public class n entends m {
public void show() {
System.out.println("n");
}
}
public class test {
public static void main(String[] args) {
m tmp = new n();
n.show();
//此处执行的结果打印出n,父类方法只是被子类隐藏
}
}
public class m {
public static void show() {
System.out.println("m");
}
}
public class n entends m {
@override //加上这个重写标签 这个程序编译错误,会提示无法重写父类方法
public static void show() {
System.out.println("n");
}
}