11.8

正常
public Parent() {
super("Hello.Grandparent"); // ✅ 第一行,没问题
System.out.println("Parent Created");
}
错误写法
public Parent() {
System.out.println("Parent Created");
super("Hello.Grandparent"); // ❌ super不在第一句,直接报错!
}
super如果要写只能写在构造函数中的第一行
通过super 调用父类(基类)构造方法,必须是子类构造方法里的第一条语句
class Father
{
public void sayhello(){
System.out.println("父类方法:hello 我是父亲");
}
}
class Son extends Father{
@Override
public void sayhello() {
System.out.println("子类重写:hello 我是儿子");
}
public void testSuper(){
super.sayhello();
sayhello();
}
}
public class TestOverrideSuper{
public static void main(String[] args){
Son s=new Son();
s.sayhello();
System.out.println("=== ===");
s.testSuper();
}
}
普通方法调用优先使用子类重写的 但是用super会直接使用父类版本

posted @ 2026-11-08 22:35  瑞ovo  阅读(3)  评论(0)    收藏  举报