灵武住房和城乡建设厅网站,制作网页哪家好,网站建设人工费,软件科技开发公司在java继承中#xff0c;如果子类继承父类#xff0c;在子类中要给用构造器给父类的属性赋值#xff0c;需要用到 super 举例#xff0c;Son类继承Father 类#xff0c;便于理解
在 new Son(String name, int age) 传入name#xff0c;和age的值
将会调用Son这个构造器…在java继承中如果子类继承父类在子类中要给用构造器给父类的属性赋值需要用到 super 举例Son类继承Father 类便于理解
在 new Son(String name, int age) 传入name和age的值
将会调用Son这个构造器将nameage传入super传给父类的两参构造器 传入namejackage100 如果我不传参数去调用无参构造器 修改了一些代码我在Son构造器中并没有写super看运行结果 运行结果Father构造器任然被调用因为如果调用父类无参构造器super就可以不写系统默认在Son构造器中创建了 super 但是如果父类并没有定义无参构造器只有哪一个两参构造器那么就会报错
代码相当于这样
super无参但是父类构造器却是两参不匹配所以报错 另外需要注意的点1.super这个语句必须要放在构造器的首行不然也会报错
2.因为super是在构造器首行所以是在遇到super就跳到父类的构造器父类构造器执行完再返回到子类继续执行所以你看到的输出顺序是先Father后Son