怎么用Java 代码示例来展示继承的实现

本文涉及的产品
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
无影云电脑个人版,1个月黄金款+200核时
轻量应用服务器 2vCPU 4GiB,适用于搭建Web应用/小程序
简介: 本文通过Java代码示例展示继承机制:Animal为父类,Cat和Dog继承其属性与方法,并实现构造函数调用、方法重写与特有功能扩展,体现代码复用与多态特性。

下面我将用完整的 Java 代码示例来展示继承的实现,包括父类、子类的定义以及继承关系的使用:

// 父类:动物
public class Animal {
   
    // 共享属性
    protected String name;
    protected int age;

    // 父类构造方法
    public Animal(String name, int age) {
   
        this.name = name;
        this.age = age;
    }

    // 父类的通用方法
    public void eat() {
   
        System.out.println(name + "正在吃东西");
    }

    public void sleep() {
   
        System.out.println(name + "正在睡觉");
    }

    public void introduce() {
   
        System.out.println("我叫" + name + ",今年" + age + "岁");
    }
}
// 子类:猫,继承自动物类
public class Cat extends Animal {
   
    // 子类构造方法
    public Cat(String name, int age) {
   
        super(name, age); // 调用父类的构造方法
    }

    // 子类特有方法
    public void meow() {
   
        System.out.println(name + "在喵喵叫");
    }

    // 重写父类方法
    @Override
    public void eat() {
   
        System.out.println(name + "在吃鱼");
    }
}
// 子类:狗,继承自动物类
public class Dog extends Animal {
   
    // 子类特有属性
    private String breed; // 品种

    // 子类构造方法,通过super调用父类构造方法
    public Dog(String name, int age, String breed) {
   
        super(name, age); // 调用父类的构造方法
        this.breed = breed;
    }

    // 子类特有方法
    public void bark() {
   
        System.out.println(name + "在汪汪叫");
    }

    // 重写父类方法,实现多态
    @Override
    public void eat() {
   
        System.out.println(name + "在啃骨头");
    }

    // 重写父类介绍方法,添加子类特有信息
    @Override
    public void introduce() {
   
        super.introduce(); // 调用父类的introduce方法
        System.out.println("我是一只" + breed);
    }
}
// 测试类
public class InheritanceTest {
   
    public static void main(String[] args) {
   
        // 创建狗对象
        Dog dog = new Dog("小黑", 3, "拉布拉多");
        dog.introduce();
        dog.eat();       // 调用重写后的方法
        dog.sleep();     // 继承父类的方法
        dog.bark();      // 子类特有方法

        System.out.println("-------------------");

        // 创建猫对象
        Cat cat = new Cat("小白", 2);
        cat.introduce();
        cat.eat();       // 调用重写后的方法
        cat.sleep();     // 继承父类的方法
        cat.meow();      // 子类特有方法
    }
}

代码解释:
继承关系:
Dog和Cat类通过extends关键字继承自Animal类
子类自动获得父类的属性(name、age)和方法(eat()、sleep()等)
构造方法:
子类构造方法中使用super()调用父类的构造方法
必须在子类构造方法的第一行调用父类构造方法
方法重写:
子类可以重写父类的方法(如eat()和introduce())
使用@Override注解标识重写的方法,提高代码可读性
子类特有功能:
子类可以添加自己特有的属性(如Dog类的breed)
子类可以添加自己特有的方法(如bark()和meow())
访问修饰符:
父类使用protected修饰的属性,子类可以直接访问
这体现了封装与继承的平衡
运行InheritanceTest类,你会看到子类既可以使用父类的方法,又可以有自己的实现,这就是继承的核心价值:代码复用和功能扩展。

相关文章
|
9天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1197 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1125 87
|
6天前
|
机器学习/深度学习 物联网
Wan2.2再次开源数字人:Animate-14B!一键实现电影角色替换和动作驱动
今天,通义万相的视频生成模型又又又开源了!Wan2.2系列模型家族新增数字人成员Wan2.2-Animate-14B。
576 11
|
18天前
|
人工智能 运维 安全
|
8天前
|
云栖大会
阿里云云栖大会2025年9月24日开启,免费申请大会门票,速度领取~
2025云栖大会将于9月24-26日举行,官网免费预约畅享票,审核后短信通知,持证件入场
1694 12
|
1天前
|
资源调度
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
212 127
|
9天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
345 0
|
9天前
|
消息中间件 Java Apache
SpringBoot集成RocketMq
RocketMQ 是一款开源的分布式消息中间件,采用纯 Java 编写,支持事务消息、顺序消息、批量消息、定时消息及消息回溯等功能。其优势包括去除对 ZooKeeper 的依赖、支持异步和同步刷盘、高吞吐量及消息过滤等特性。RocketMQ 具备高可用性和高可靠性,适用于大规模分布式系统,能有效保障消息传输的一致性和顺序性。
502 2