子类可以覆盖父类的方法。当子类定义了一个和父类中具有相同名称、参数列表和返回类型的方法时,子类的方法会覆盖父类的方法。这就意味着在使用子类对象调用该方法时,实际执行的是子类中的方法而非父类中的方法。
覆盖父类方法的主要目的是能够修改或扩展父类方法的行为。子类可以根据自身需要重新实现父类的方法,并在其中添加自己的逻辑。这种方式称为方法覆盖(method overriding)或方法重写。
子类覆盖父类方法的条件:
1. 方法名称与参数列表必须和父类方法相同。
2. 覆盖方法的返回类型必须与父类方法的返回类型相同,或者是其子类。 3. 子类方法的访问修饰符不能比父类方法的访问修饰符更严格(例如,如果父类方法是public,子类方法就不能是private)。
4. 子类方法不能抛出比父类方法更多、更宽泛的异常(可以不抛出异常或者抛出相同的异常)。
注意:构造方法不能被覆盖,只能被重载。而且父类的private方法和final方法也不能被子类覆盖。
因篇幅问题不能全部显示,请点此查看更多更全内容