Java通过extends实现单继承,子类可复用父类属性和方法;子类构造器必须通过super()调用父类构造器,且super()需位于首行;重写方法时可用super.方法名()调用父类原逻辑,注意private成员不可直接访问,构造器不被继承。
在Java中,继承是面向对象编程(OOP)的核心特性之一,它允许一个类(子类)获取另一个类(父类)的属性和方法。通过继承可以实现代码复用,并建立类之间的层次关系。
要让一个类继承另一个类,使用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()方法(可被重写)。
子类在构造对象时,必须先调用父类的构造函数。通过super()显式调用父类构造方法。
注意:
class Parent {
public Parent(String name) {
this.name = name;
}
}
class Child extends Parent {
public Child(String name) {
super(name); // 必须调用父类含参构造器
}
}
:使用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
基本上就这些。掌握extends和super的使用,就能正确实现Java中的继承与父类调用。关键在于理解初始化顺序和方法调用链。不复杂但容易忽略细节。