/*
super();调用父类构造函数
this();调用本类构造函数
当子类继承父类时会默认执行父类的构造函数
super()和this()不能在同一行:因为super()和this()只能在第一行,因为初始化工作要先做
为什么子类一定要访问父类中的构造函数。
应为父类中的数据子类可以直接获取,所以子类对象在建立时,需要先查看父类时如何对这些数据进行初始化的。
所以子类在对象初始化时,要先访问一下父类中的构造函数。
如果要访问父类中指定的构造函数,可以通过手动定义super语句的方式来指定。
注意:super语句一定定义在子类构函数的第一行。
*/
class Fu
{
Fu()
{
System.out.println("fu run");
}
}
class Zi extends Fu
{
Zi()
{
//super(); 此代码被隐藏 默认执行父类的构造函数
System.out.println("zi run");
}
}
class ExtendsDemo
{
public static void main (String[] args)
{
Zi z = new Zi()
}
}
执行结果:
fu run
zi run