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

简介: 本文通过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类,你会看到子类既可以使用父类的方法,又可以有自己的实现,这就是继承的核心价值:代码复用和功能扩展。

相关文章
|
8月前
|
Java 开发工具
【Azure Storage Account】Java Code访问Storage Account File Share的上传和下载代码示例
本文介绍如何使用Java通过azure-storage-file-share SDK实现Azure文件共享的上传下载。包含依赖引入、客户端创建及完整示例代码,助你快速集成Azure File Share功能。
525 6
|
9月前
|
IDE Java 关系型数据库
Java 初学者学习路线(含代码示例)
本教程为Java初学者设计,涵盖基础语法、面向对象、集合、异常处理、文件操作、多线程、JDBC、Servlet及MyBatis等内容,每阶段配核心代码示例,强调动手实践,助你循序渐进掌握Java编程。
1124 3
|
9月前
|
安全 Java 应用服务中间件
Spring Boot + Java 21:内存减少 60%,启动速度提高 30% — 零代码
通过调整三个JVM和Spring Boot配置开关,无需重写代码即可显著优化Java应用性能:内存减少60%,启动速度提升30%。适用于所有在JVM上运行API的生产团队,低成本实现高效能。
1044 3
|
8月前
|
Java 数据处理 API
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
为什么你的Java代码应该多用Stream?从循环到声明式的思维转变
376 115
|
8月前
|
安全 Java 编译器
为什么你的Java代码需要泛型?类型安全的艺术
为什么你的Java代码需要泛型?类型安全的艺术
272 98
|
8月前
|
安全 Java 容器
告别繁琐判空:Optional让你的Java代码更优雅
告别繁琐判空:Optional让你的Java代码更优雅
|
8月前
|
安全 Java 容器
告别空指针噩梦:Optional让Java代码更优雅
告别空指针噩梦:Optional让Java代码更优雅
529 94
|
8月前
|
Java 编译器 API
java最新版和java8的区别,用代码展示
java最新版和java8的区别,用代码展示
661 43
|
Java 程序员
Java中的继承和多态:理解面向对象编程的核心概念
【8月更文挑战第22天】在Java的世界中,继承和多态不仅仅是编程技巧,它们是构建可维护、可扩展软件架构的基石。通过本文,我们将深入探讨这两个概念,并揭示它们如何共同作用于面向对象编程(OOP)的实践之中。你将了解继承如何简化代码重用,以及多态如何为程序提供灵活性和扩展性。让我们启程,探索Java语言中这些强大特性的秘密。
|
Java
Java 面向对象编程的三大法宝:封装、继承与多态
本文介绍了Java面向对象编程中的三大核心概念:封装、继承和多态。
789 15

热门文章

最新文章