在 Java 中,**“超类(父类)能不能重载”**这个问题,需要先明确你指的是哪一种“重载”:
✅ 可以,超类完全可以定义重载方法
重载指的是:在同一个类中,方法名相同,但参数列表不同(参数类型、个数、顺序不同)。
父类里完全可以写多个重载方法,例如:
class SuperClass {
void show(int a) {
System.out.println("int: " + a);
}
void show(String s) {
System.out.println("String: " + s);
}
}
这是完全合法且常见的写法。
⚠️ 注意:子类写和父类同名但参数不同的方法,叫“重载”,不是“重写”
class SuperClass {
void show(int a) {}
}
class SubClass extends SuperClass {
void show(String s) {} // 这是重载,不是重写
}
SubClass 中 show(String) 和父类 show(int) 不构成重写show 方法(一个继承,一个自己定义)如果你其实是想问 “超类的方法能不能被重载/重写”:
✅ 超类的方法可以被子类重写(Override)
class SuperClass {
void show() {
System.out.println("Super");
}
}
class SubClass extends SuperClass {
@Override
void show() {
System.out.println("Sub");
}
}
⚠️ 限制条件:
final✅ 超类的构造方法也可以重载
class SuperClass {
SuperClass() {}
SuperClass(int x) {}
}
子类通过 super(...) 调用不同的父类构造器。
如果你具体指的是 构造器、静态方法、private 方法 或 泛型重载,可以继续问,我可以针对场景讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。