栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA中子类会不会继承父类的构造方法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA中子类会不会继承父类的构造方法

总结:

继承中的子类实例化的过程: --->先调用父亲的构造方法,然后再执行子类的构造方法

1.子类不能继承父类的构造函数,但是可以调用父类的构造函数

2.如果父类没有定义构造函数,系统会默认定义一个无参无返回值的构造函数,子类继承时无需在子类构造函数中==显式 == 调用super();
(即子类的构造函数中默认调用父类的无参构造函数,只不过第一行代码:super();一直被省略了)。

3.如果父类有有参构造函数,则子类必须在自己的构造函数中显示的调用父类的构造函数即super(参数名)。
如果父类的构造函数只有一个,且修饰符是private,则不可以被继承。

4.如果子类的某个构造函数想要调用父类的其他带参构造函数,在构造函数第一行添加super(args1,args2…);(参数的多少根据想调用父类构造函数的形参而定)

5.如果子类的构造函数在第一行super(args1,args2…);调用了父类的其他有参构造函数,那么子类的该构造函数不会再调用父类的默认构造函数。


Part2

子类实例化对象时,会先调用父类的构造方法,如果子类的构造方法没有显式的调用父类的构造方法,默认调用super();
子类要使用父类有参的构造方法,使用super(参数)形式,且super()必须是子类构造方法中的第一行语句。
如果父类没有不带参数的构造方法,且子类的构造方法中有没有显式的调用父类其他构造方法,则java编译器会报错

父类无参+子类无参=两者都输出(父类先、子类后)
父类(无参)++子类有参(没有super父类有参)=父类无参+子类有参

父类(无参+有参)++子类无参=父类无参+子类无参
父类(无参+有参)++子类有参(super父类有参)=父类有参+子类有参【用无参会报错,因为子类没写无参,但写了有参,不默认生成无参了】
父类(无参+有参)++子类有参(没有super父类有参)=父类无参+子类有参
父类(无参+有参)++子类空=父类无参【默认生成无参了】


父类(有参)++子类无参=报错


另外:方法是没有继承一说的,只有覆写或者重载,类和类之间才能叫继承。

参考:

JAVA中子类会不会继承父类的构造方法_NathanniuBee的博客-CSDN博客

java 子类的构造函数都必须要super();吗?_Lawliet0307的博客-CSDN博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/397385.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号