有时需要子类调用父类中的方法的情况,但是如果这是子类中的方法与父类中的方法同名,即子类覆盖了父类中的方法,显然如果直接调用方法名是调用的子类重新实现的操作,如果想要调用父类中的方法,就需要用到super关键字,super可以调用父类中的成员方法和成员变量。
为什么放在第一行?因为父类中的数据子类可以直接调用,所以子类在创建对象的时候,必须要先查看父类是如何对这些数据初始化的。
class Deom1
{
public Deom1(int i)
{
}
}
class Deom2 extends Deom1
{
public Deom2(int i)
{
super(i);
}
public static void main(String[] args)
{
Deom1 d = new Deom2(100);
// 要想实例化Deom2,必须先实例化其父类Deom1,
// 由于Deom1中没有定义默认构造器,所以必须显示的用super(i)来调用Deom1类中的构造器
}
} |