科技知识港
第二套高阶模板 · 更大气的阅读体验

Java 类继承写法详解:代码复用的实用技巧

发布时间:2026-01-10 23:01:15 阅读:26 次

在开发一个学生管理系统时,可能会遇到学生、老师、管理员等不同角色。这些角色有共性,比如都有姓名和年龄,但各自又有独特行为。这时候用 Java继承,就能避免重复写相同的代码

继承的基本写法

Java 中通过 extends 关键字实现类继承。子类会自动拥有父类的属性和方法。例如,定义一个基础的“人”类:

class Person {
    String name;
    int age;

    void introduce() {
        System.out.println("我是" + name + ",今年" + age + "岁");
    }
}

接着让 Student 类继承 Person:

class Student extends Person {
    String studentId;

    void study() {
        System.out.println(name + "正在学习");
    }
}

创建 Student 对象后,不仅能访问自己的 studentIdstudy() 方法,也能调用从父类继承来的 nameintroduce()

方法重写:让行为更具体

有时候子类需要修改继承来的方法。比如老师也会自我介绍,但格式和普通人不一样。可以使用 @Override 注解重新定义方法:

class Teacher extends Person {
    String subject;

    @Override
    void introduce() {
        System.out.println("我是" + name + ",教" + subject);
    }
}

这样调用 teacher.introduce() 时,输出的就是带科目的介绍内容。

构造函数的处理

子类不会自动继承父类的构造函数,但可以通过 super() 调用父类构造。比如 Student 初始化时也要设置姓名和年龄:

class Student extends Person {
    String studentId;

    public Student(String name, int age, String studentId) {
        super(name, age);  // 调用父类构造
        this.studentId = studentId;
    }
}

如果没有显式调用 super(),Java 会默认调用父类无参构造。如果父类没有无参构造,编译就会报错。

继承的实际好处

项目中用好继承,能大幅减少重复代码。比如多个业务类都需要记录日志,可以写一个基础服务类包含通用的日志方法,其他类继承它就能直接使用。维护时也方便,改一处,所有子类都生效。

不过别滥用继承。只有确实存在“是一种”关系时才适合,比如“学生是一种人”。如果只是想复用工具方法,更适合用组合或工具类。