在java中用来调用父类构造方法的关键字是
java中的关键字super有两种用法。
一、调用父类的构造方法,如:
class A
{
A(String s)
{
System.out.println(s);
}
}
class B extends A
{
B()
{
super("父类");
System.out.println("子类");
}
}
完整例子如下图:
二、调用父类的实例方法,如:
class A
{
void f1()
{
System.out.println("A.f1");
}
void f2()
{
System.out.println("A.f2");
}
}
class B extends A
{
void f()
{
super.f1();
f2();
}
void f2()
{
super.f2();
System.out.println("B.f2");
}
}
完整例子如下图:
java中用来调用父类构造方法的关键字是super(参数列表)。
因为有继承关系存在,子类会把父类的内容继承下来,也就是说子类对象比父类对象大,子类对象里面包含了一个父类的对象,这是内存中真实的情况。
默认的情况下:子类的构造过程中,必须调用其父类的构造方法。
在子类构造方法中我们并没有显示的调用基类的构造方法,但是这样就会调用父类没有参数的构造方法(默认构造函数),如果父类中没有没有参数的构造方法就会出错。
如果子类的构造方法中既没有显示的调用基类构造方法,而基类中又没有默认无参的构造方法,则编译出错,所以,通常我们需要显示的:super(参数列表),来调用父类有参数的构造函数。