Java常见问题之this()和super()的用法

本文详细解释了this()和super()在构造函数中的使用规则:this()用于调用同一类中的其他构造函数,而super()用于调用父类的构造函数。特别强调了调用时的限制条件及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博客已迁往http://coredumper.cn


this()用法:

一个构造函数可以使用this()来调用同一个类的另外一个构造函数。
一个构造函数最多只能调用一次this(),且this()只能作为构造函数的第一条语句。


super()用法:
一个构造函数使用super()来调用父类的构造函数。
如果没有为一个类编写构造函数,则编译器会自动构造一个不带参数的构造函数,且构造函数中只有一条语句super();。
如果为一个类编写了构造函数,但是构造函数中没有调用super(),则编译器会自动在构造函数的起始位置中添加语句super();。
super()只能调用父类中不带参数的构造函数,如果需要调用父类中带有参数的构造函数,则需要在构造函数的起始位置显示调用super(),并传入参数。尤其需要注意,如果父类中没有默认构造函数(即所有构造函数都带参数),则必须在子类的构造函数中显示调用super(),并传入参数,否则会编译出错。


注意:每个构造函数只能选择调用super()和this()中的一个,不能同时调用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值