Java继承的实现

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

posted @ 2025-10-19 11:12  yijg9998  阅读(11)  评论(0)    收藏  举报