我直接在子类中创造带参构造,不去调用父类的构造方法不是也可以吗?
来源:5-2 编程练习
眼睛眯起来
2020-05-27 23:04:37
我直接在子类中创造带参构造,不去调用父类的构造方法不是也可以吗? super();的作用是什么,调用父类的带参构造么?这两种方式的区别呢?
2回答
同学你好
可以在子类中创建带参构造,直接通过this.setColor给属性赋值;只不过题目中要求是调用父类的构造方法,完成属性赋值,所以使用 super(color,userName);
super()的作用是子类的构造方法调用父类的构造方法;
这两种区别是 第一种调用的是子类的构造方法,第二种是调用父类的构造方法 。
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
苍星乱舞
2020-05-27
你这样写不报错吗?不是重复定义了构造器吗?
实例化对象时,要一步步来先从父类的结构逐步构造至子类的对象
你上面那行没显示写调用 super();但还是实际调用了
你可以在 Taxi的父类无参构造器中加一句输出,只保留上面的那行构造器,你会发现是有输出的。