You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

多态是否允许子类重写父类的所有方法?请结合示例说明

子类重写父类方法的规则与多态示例

子类并非必须重写父类的所有方法,重写只是可选操作,而非强制要求。多态的核心是允许子类为父类定义的方法提供专属实现,但如果子类不对父类方法进行重写,就会直接继承并使用父类的原有实现。

用Java代码示例说明:

// 父类:定义通用的动物行为
class Animal {
    public void eat() {
        System.out.println("动物进食");
    }
    
    public void sleep() {
        System.out.println("动物睡觉");
    }
}

// 子类Dog:仅重写需要定制的方法
class Dog extends Animal {
    // 重写eat方法,实现狗的专属进食行为
    @Override
    public void eat() {
        System.out.println("狗啃骨头");
    }
    // 没有重写sleep方法,直接继承父类的sleep逻辑
}

// 测试多态效果
public class PolymorphismTest {
    public static void main(String[] args) {
        Animal myPet = new Dog();
        myPet.eat(); // 输出:狗啃骨头(调用子类重写后的方法)
        myPet.sleep(); // 输出:动物睡觉(使用父类继承来的方法)
    }
}

示例解析

  • 父类Animal提供了动物的通用行为实现,子类Dog只需要针对自身特有的行为(比如进食)进行重写。
  • 对于不需要定制的方法(比如睡觉),子类直接复用父类的实现即可,无需重复编写代码。
  • 多态在这里的体现是:当用父类引用指向子类对象时,调用方法会优先使用子类的重写实现;如果子类没有重写,则使用父类的原有实现。

内容的提问来源于stack exchange,提问作者New Bee Beginner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 00:38:16