java如何重写覆盖
重写覆盖的概念
在Java中,重写(Override)是指子类重新定义父类中已有的方法,以实现不同的功能。重写的方法必须与被重写方法具有相同的名称、参数列表和返回类型。

重写覆盖的规则
方法签名必须完全相同,包括方法名、参数列表和返回类型。 访问修饰符不能比父类方法更严格,例如父类方法是public,子类方法不能是private。 子类方法抛出的异常类型不能比父类方法抛出的异常类型更宽泛。

示例代码
class Parent {
public void display() {
System.out.println("Parent class method");
}
}
class Child extends Parent {
@Override
public void display() {
System.out.println("Child class method");
}
}
public class Main {
public static void main(String[] args) {
Parent obj = new Child();
obj.display(); // 输出: Child class method
}
}
使用@Override注解
@Override注解用于显式标记方法重写,帮助编译器检查是否正确实现了重写。如果重写不符合规则,编译器会报错。
注意事项
静态方法不能被重写,只能被隐藏。 私有方法不能被重写,因为私有方法对子类不可见。 final方法不能被重写,因为final方法禁止修改。
重写与重载的区别
重写发生在父子类之间,要求方法签名完全相同。 重载发生在同一个类中,要求方法名相同但参数列表不同。






