在 Java 中,“重写(Override)超类”通常指方法重写(Method Overriding),也就是子类重新定义父类中的方法。下面从概念、规则、示例和注意事项几个方面说明。
方法重写是指:
class Animal {
void sound() {
System.out.println("动物叫");
}
}
class Dog extends Animal {
@Override
void sound() {
System.out.println("汪汪汪");
}
}
protected → 子类可以是 protected 或 publicstatic、非 final、非 private 方法@Override 注解(推荐)@Override
public void sound() {
...
}
好处:
| 对比项 | 重写(Override) | 重载(Overload) |
|---|---|---|
| 发生位置 | 子类与父类 | 同一类 |
| 方法名 | 相同 | 相同 |
| 参数 | 必须相同 | 必须不同 |
| 返回类型 | 有关联 | 无关 |
子类重写后,仍可使用父类逻辑:
class Dog extends Animal {
@Override
void sound() {
super.sound(); // 调用父类方法
System.out.println("汪汪汪");
}
}
❌ 写错方法名或参数(变成重载)
❌ 修饰符变小
❌ 重写 static 方法(实际是隐藏,不是重写)
class Parent {
void show() {
System.out.println("Parent show");
}
}
class Child extends Parent {
@Override
void show() {
System.out.println("Child show");
}
}
public class Test {
public static void main(String[] args) {
Parent p = new Child();
p.show(); // 输出 Child show
}
}
如果你说的“重写超类”是指:
可以告诉我具体场景,我可以更针对性地讲。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。