如果父类里有一个带参数的构造方法,那么子类是否也必须要super(形参列表)吗
还有0人有此问题
发表在Java视频课程答疑 2018-08-29
是否精华
版块置顶:

比如:

我的父类方法是:

    public class People {

     People(String name){

     System.out.println("你好!我叫"+name);

     }

    }

子类:

    public class Student extends People{

    

     Student(String name) {//为何必须要有这个,子类也必须调用父类的构造方法么?

     super(name);

     }

    }


如果我在父类里再加上一个构造方法(带两个参数的构造方法):

        People(String name,int age){

         System.out.println("你好!我叫"+name+“我的年龄是”+age);

        }


那么子类是否也还需要 再写一个带两个参数构造方法,然后方法体中写上super(name,age)呢?

    image.png

分享到:
精彩评论 3
根号申
学分:4736 LV12
TA的每日心情
2021-07-16 23:48:46
2018-08-30
沙发

因为父类没有定义无参构造方法,子类就无法通过无参构造方法创建对象,所以必须要重新父类有参构造方法。

天翼酱
学分:129 LV3
2018-08-30
板凳

根号申 发表于2018-08-30 09:26

因为父类没有定义无参构造方法,子类就无法通过无参构造方法创建对象,所以必须要重新父类有参构造方法。

明白了,谢谢老师
愿世界回归自然_1572338048
学分:393 LV5
2018-11-26
地板

意思就是说如果父类的构造方法是无参数的,就可以不写在子类的构造方法的第一行super(),系统会自动写一个隐式的。如果父类的构造方法里面有参数就必须要在子类的构造函数的第一行用super(参数),调用父类的构造函数进行初始化。

这样理解对吗?

首页上一页 1 下一页尾页 3 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照