Java中如何正确编写继承类以实现多态和代码复用?
- 后端开发
- 2025-10-28
- 5
在Java编程语言中,继承是一种面向对象编程(OOP)的特性,允许一个类继承另一个类的属性和方法,通过继承,子类可以复用父类的代码,并在此基础上添加新的功能或修改现有功能,下面我将详细介绍如何在Java中编写继承类。
Java继承基本语法
在Java中,继承通过使用关键字extends来实现,下面是一个简单的继承示例:
// 父类 class Parent { public void show() { System.out.println("这是父类的方法"); } } // 子类 class Child extends Parent { public void display() { System.out.println("这是子类的方法"); } } // 主类 public class Main { public static void main(String[] args) { Child c = new Child(); c.show(); // 调用父类方法 c.display(); // 调用子类方法 } }
在上面的示例中,Child类继承自Parent类。Child类可以访问Parent类中的所有公有(public)方法。

继承类的详细编写步骤
-
定义父类:你需要定义一个父类,它包含一些属性和方法,父类通常用于定义通用属性和方法。
-
定义子类:使用extends关键字来定义一个子类,指定它继承自哪个父类。
-
重写方法:如果你想要修改父类中的方法,可以在子类中使用相同的方法名和参数列表来重写它。

-
添加新方法:在子类中,你可以添加新的方法,这些方法在父类中不存在。
-
访问父类成员:子类可以通过使用super关键字来访问父类的私有(private)成员。

以下是一个更详细的示例:
// 父类 class Vehicle { protected String brand = "未知品牌"; public void start() { System.out.println("车辆启动"); } protected void stop() { System.out.println("车辆停止"); } public String getBrand() { return brand; } } // 子类 class Car extends Vehicle { private String model = "未指定型号"; public void setModel(String model) { this.model = model; } public void start() { System.out.println("汽车启动"); } public void stop() { System.out.println("汽车停止"); } public String getModel() { return model; } public String getVehicleInfo() { return "品牌:" + getBrand() + ",型号:" + getModel(); } } // 主类 public class Main { public static void main(String[] args) { Car car = new Car(); car.start(); car.stop(); car.setModel("宝马X5"); System.out.println(car.getVehicleInfo()); } }
表格:Java继承的关键点
| 关键点 | 说明 |
|---|---|
| extends | 用于声明一个类继承自另一个类。 |
| 父类 | 被继承的类。 |
| 子类 | 继承自父类的类。 |
| 构造函数 | 子类可以调用父类的构造函数,使用super()关键字。 |
| 方法重写 | 子类重写父类的方法,方法名、返回类型和参数列表必须相同。 |
| 访问修饰符 | 使用public、protected、private等修饰符来控制成员的访问权限。 |
FAQs
问题1:Java中如何实现多重继承?
解答1: Java不支持多重继承,即一个类不能继承自多个类,可以通过实现多个接口来模拟多重继承的行为。
问题2:在Java中,为什么使用super()关键字?
解答2: super()关键字用于调用父类的构造函数,在子类构造函数中,如果没有显式调用父类构造函数,编译器会自动调用父类的无参构造函数,如果父类没有无参构造函数,则必须在子类构造函数中显式调用一个具体的父类构造函数。