在开发一个学生管理系统时,你可能会发现,学生和老师都有姓名、年龄这些共性,但各自又有不同的行为。这时候,Java 的类继承就能派上用场了。它让你可以基于已有类创建新类,复用代码的同时还能扩展功能。
什么是类继承
在 Java 中,类继承使用 extends 关键字实现。子类会自动拥有父类的属性和方法,就像孩子继承父母的某些特征一样。比如定义一个“动物”类,再让“猫”类去继承它,猫就自然具备了动物的基本能力。
基本语法格式
子类继承父类的写法非常直接:
class 父类 {
// 属性和方法
}
class 子类 extends 父类 {
// 可以添加新的属性和方法
// 也可以重写父类的方法
}
实际代码示例
下面是一个简单的例子。先定义一个员工类作为父类:
class Employee {
protected String name;
protected double salary;
public void work() {
System.out.println(name + " 正在工作");
}
}
接着写一个经理类,它属于员工的一种,但有额外职责:
class Manager extends Employee {
private String department;
public void manage() {
System.out.println(name + " 正在管理 " + department + " 部门");
}
// 重写父类方法
@Override
public void work() {
System.out.println(name + " 作为经理安排工作");
}
}
如何使用继承后的类
在主程序中创建对象测试一下:
public class Test {
public static void main(String[] args) {
Manager mgr = new Manager();
mgr.name = "张伟";
mgr.salary = 15000;
mgr.department = "技术";
mgr.work(); // 输出:张伟 作为经理安排工作
mgr.manage(); // 输出:张伟 正在管理 技术 部门
}
}
可以看到,Manager 不仅能调用自己独有的 manage() 方法,也能使用从 Employee 继承来的 name 和 work()。
注意事项
Java 不支持多继承,一个类只能继承一个父类。如果需要实现多个行为,可以通过接口来完成。另外,父类中的 private 成员不会被直接继承,但可以通过公共方法间接访问。
合理使用类继承能让代码结构更清晰,减少重复编写相同逻辑的麻烦。刚开始写项目时不妨试着把共性抽出来做成父类,后续维护起来也会轻松不少。