子类构造函数必须调用父类的构造函数,但是如果构造函数有多个到底是调用哪个呢?如果子类有显式调用父类构造函数,是不是就是说父类不管有没有无参构造函数都不会报错吗?
3 回答
1.当子类中隐式调用父类的构造方法,(即不写super();),则默认调用父类中的无参构造方法
2.当子类中隐式调用父类的构造方法,而父类中没有无参的构造方法,如只有有参的构造方法,则系统会报错
3当我们在创建父类对象,在main方法中用的是有参的的构造即:Animal a=new Animal(10);
在父类中我们创建一个有参的构造方法:
public Animal(int age1){
System.out.println("父类的构造方法执行了!!!!!");
System.out.println(age1);
在子类中我们调用super(10);
当程序运行时,我们调用的就是父类中有参的构造方法了。
最后纠正一下,java中只有方法,没有函数的叫法。
举报
0/150
提交
取消