关于super关键字以及子类与父类构造函数之间的关系

显示调用父类构造方法——用super(); 若显示调用,必须将super()方法写在最前面; 若不显示调用,则要求父类必须写了‘无参构造函数’,系统会自动调用,否则报错“实际参数列表和形式参数列表长度不同”。 而如果父类中只有参构造而没有无参构造时,在子类中必须对父类的有参构造进行显式调用,因为子类成员初始化之前会对父类成员进行初始化. 也就是说,若子类构造第一行代码没有调用父类构造,也没有调用子类构造,则默认调用父类无参构造,但父类中若没有无参构造,那只能在子类中显式调用出来,不然,父类成员变量无法进行初始化,子类无法使用。 public static void main(String[] args)
{
//Cat cat1 = new Cat(); //提示“实际参数列表和形式参数列表长度不同”的错误
Cat cat2 = new Cat("波斯");
Wolf wolf1 = new Wolf();
Wolf wolf2 = new Wolf("蒙古狼");
Tiger

关于super关键字以及子类与父类构造函数之间的关系最先出现在Python成神之路

版权声明:
作者:倾城
链接:https://www.techfm.club/p/20062.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>