Java通过extends实现单继承,子类可复用父类属性和方法;子类构造器必须通过super()调用父类构造器,且super()需位于首行;重写方法时可用super.方法名()调用父类原逻辑,注意private成员不可直接访问,构造器不被继承。

在Java中,继承是面向对象编程(OOP)的核心特性之一,它允许一个类(子类)获取另一个类(父类)的属性和方法。通过继承可以实现代码复用,并建立类之间的层次关系。
1. 使用extends关键字实现继承
要让一个类继承另一个类,使用extends关键字。
示例:
class Parent {
protected String name;
public void greet() {
System.out.println("Hello from Parent");
}
}
class Child extends Parent {
@Override
public void greet() {
System.out.println("Hello from Child");
}
}
此时,Child类自动拥有Parent类中的name字段和greet()方法(可被重写)。
2. 调用父类构造器:使用super()
子类在构造对象时,必须先调用父类的构造函数。通过super()显式调用父类构造方法。
立即学习“Java免费学习笔记(深入)”;
注意:- super()必须出现在子类构造函数的第一行。
- 若未显式调用,Java会自动插入无参的super(),前提是父类有无参构造器。
class Parent {
public Parent(String name) {
this.name = name;
}
}
class Child extends Parent {
public Child(String name) {
super(name); // 必须调用父类含参构造器
}
}
3. 调用父类方法:使用super.方法名()
当子类重写了父类的方法但仍需使用原始逻辑时,可通过super.方法名()调用父类版本。
class Child extends Parent {
@Override
public void greet() {
super.greet(); // 先执行父类逻辑
System.out.println("Additional behavior in Child");
}
}
Hello from Parent
Additional behavior in Child
4. 继承的限制与注意事项
- Java只支持单继承,一个类只能直接继承一个父类。
- 子类不能访问父类的private成员,但可通过getter/setter或protected成员间接访问。
- 构造器不会被继承,但可通过super()调用。
- 方法重写需保证签名一致,建议使用@Override注解提高可读性。
基本上就这些。掌握extends和super的使用,就能正确实现Java中的继承与父类调用。关键在于理解初始化顺序和方法调用链。不复杂但容易忽略细节。










