当前位置:首页 > 后端开发 > 正文

Java创建子类简单方法教程?

在Java中创建子类需使用 extends关键字,定义语法: class 子类名 extends 父类名 { ... },子类自动继承父类的非私有属性和方法,并可添加新成员或重写父类方法。

在Java中创建子类是面向对象编程的核心概念之一,通过继承(Inheritance)实现代码复用和逻辑分层,以下是详细步骤和关键要点:

子类创建基础

语法结构

class 子类名 extends 父类名 {
    // 新增属性或方法
    // 重写父类方法(可选)
}

示例

// 父类
class Animal {
    void eat() {
        System.out.println("动物进食");
    }
}
// 子类
class Dog extends Animal {  // 通过extends继承
    void bark() {
        System.out.println("狗叫:汪汪!");
    }
}

关键操作详解

  1. 方法重写(Override)
    子类可修改父类方法的行为:

    Java创建子类简单方法教程?  第1张

    class Dog extends Animal {
        @Override  // 注解表示重写(推荐添加)
        void eat() {
            System.out.println("狗啃骨头");
        }
    }
  2. 使用super关键字
    访问父类成员或构造函数:

    class Dog extends Animal {
        @Override
        void eat() {
            super.eat();  // 先调用父类的eat()
            System.out.println("追加狗粮");
        }
    }
  3. 构造函数链
    子类构造函数默认调用父类无参构造,若父类无无参构造,需显式调用:

    class Animal {
        Animal(String name) { /*...*/ }  // 父类有参构造
    }
    class Dog extends Animal {
        Dog() {
            super("未知品种");  // 必须显式调用父类构造
        }
    }

完整示例

// 父类
class Vehicle {
    void run() {
        System.out.println("交通工具运行中");
    }
}
// 子类
class Car extends Vehicle {
    private String model;
    Car(String model) {
        this.model = model;
    }
    @Override
    void run() {
        System.out.println(model + "汽车启动");
    }
    void honk() {
        System.out.println("嘀嘀!");
    }
}
// 测试类
public class Main {
    public static void main(String[] args) {
        Car myCar = new Car("Toyota");
        myCar.run();  // 输出:Toyota汽车启动(重写方法)
        myCar.honk(); // 输出:嘀嘀!(子类新增方法)
    }
}

继承规则与注意事项

  1. 单继承限制
    Java不支持多继承(一个子类只能extends一个父类),但可通过接口(implements)实现多能力扩展。

  2. 访问权限

    • 子类可访问父类的publicprotected成员
    • 父类private成员对子类不可见(需通过getter/setter访问)
  3. 继承层次
    支持多层继承(如A→B→C),但需避免过度设计导致维护困难。

  4. final类限制
    若父类被声明为final(如final class Parent),则无法被继承。

为什么使用子类?

  • 代码复用:共享父类属性和方法
  • 多态支持:父类引用指向子类对象(如Vehicle v = new Car()
  • 逻辑扩展:在不修改父类的前提下新增功能

:创建子类需通过extends关键字,重点掌握方法重写、super调用和构造链规则,合理使用继承能提升代码可维护性,但需遵循”is-a”关系(如Dog is an Animal)确保设计合理。


引用说明参考Oracle官方Java教程(Inheritance)及《Java核心技术卷I》第5章,代码示例为原创实践。

0