课程
/后端开发
/Java
/Java入门第二季 升级版
在创建子类对象时,会自动调用父类的构造方法。如果父类有多个构造方法,那这个调用的父类构造方法是哪个呢.
2019-01-12
源自:Java入门第二季 升级版 9-7
正在回答
最后一条有说,如果子类没有明确显示调用父类方法,则调用的是父类的无参方法;有明确显示调用父类方法则根据方法名,参数来决定调用是父类哪一个方法;(提示一点:如果没有明确显示调用父类方法,则父类必须包含无参构造方法)
super其实也是方法调用,也是根据传参数量和类型来匹配调用的参数的。如果父类中有多个构造方法,那么如果你在子类构造方法中显示写了super()的话,就会根据你的super方法中传的参数来调用对应的父类构造方法
假如说父类有三个构造方法:
Dog dog =new Dog(); ①这种情况是调用父类的无参构造。
Dog dog =new Dog("哈士奇"); ②这种情况是调用父类的带一个参数构造方法。
Dog dog =new Dog("哈士奇","男"); ③这种情况是调用父类的带两个参数构造方法。
加油哦!
永远先调用父类无参的构造方法,视频里最后,如果父类里没有无参的构造方法,那么,编译报错
你说的父类构造方法是 这个父类有不同参数的构造方法吧 子类调用父类的构造方法默认是super() 如果你想调父类别的构造方法 子类调用的时候传参数 根据参数是什么类型调用的就是那个父类的构造方法
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答各位大神帮帮忙
2 回答求各位大神帮忙
3 回答各位帮忙解答下
2 回答麻烦各位大神帮忙想想
6 回答各位大佬帮帮小白