构造方法不能被继承,因此,在子类中调用父类构造方法只能通过super关键字来实现。super可以理解为父类在子类中的一个对象,我们可以象使用父类对象一样使用子类对象。
例:
class A {
A() {
System.out.println("A()");
}
}
class B extends A {
B() {
super(); // 调用父类A的构造方法,打印"A()"语句
System.out.println("B()");
}
}
当执行new B()语句时,结果仍是:
A()
B()
因此,我们通过super关键字显示地调用父类的构函,当然,也可以象使用this对象一样通过super调用父类的成员方法。比如:super.m1()等
但是,必须得注意:父类构函只能在子类构函中通过super显示调用,并且必须是第一句!
下面语句是错误的:
B()
{
System.out.println("B()");
//error! super()语句必须是方法中的第一条语句!
super();
}
更多 Java视频教程