阅读量:78
在Java中,super关键字在构造器中的使用有两种情况:
- 在子类构造器中调用父类构造器:可以使用super关键字来调用父类的构造器。在子类的构造器中使用super()语句来调用父类的构造器,并且必须在子类的构造器中的第一行代码中调用super()。如果没有显式地调用父类的构造器,默认会调用父类的无参构造器。
public class Parent {
public Parent() {
System.out.println("Parent constructor");
}
}
public class Child extends Parent {
public Child() {
super(); // 调用父类构造器
System.out.println("Child constructor");
}
}
- 在内部类中使用super关键字:在内部类中,如果需要引用外部类的构造器,可以使用super关键字来调用外部类的构造器。
public class Outer {
private int x;
public Outer(int x) {
this.x = x;
}
public class Inner {
private int y;
public Inner(int y) {
Outer.this.x = y; // 调用外部类的构造器
this.y = y;
}
}
}