//子类的所有的构造函数,默认都会访问父类中空参数的构造函数。
//当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类中的构造函数。
例:
class fu1
{
fu1()
{
System.out.println("通过隐藏的super语句调用父类中的空参数构造函数");
}
}
class zi1 extends fu1
{
zi1()
{
//此处第一行默认的有一个super();语句来调用父类fu1中的无参数构造方法。
System.out.println("---------------");
}
}
class fu2
{
fu2(int x) //此时父类中已经没有了无参构造方法,子类在调用时只能手工用super(x)语句指定调用
{
System.out.println("通过super语句调用父类中的有参数的构造方法");
}
}
class zi2 extends fu2
{
zi2(int x)
{
super(x); //此处的super语句用来调用父类fu2中的有一个参数的构造方法。
System.out.println("********************"+x);
}
}
class extendsDemo2
{
public static void main(String[] args)
{
zi1 Z1= new zi1(); //创建一个对象
zi2 Z2=new zi2(5);
}
}
|
|