关于类加载和构造方法的那些事

最近在学习javase,遇到两个关键字 super 和 this 。解释说当super和this当做构造方法使用时不能同时出现,心中有些纠结那是为什么,左右揣摩,最后我自己给出了一个解释:

因为加载类时会先加载父类,这样当你显式调用一次super()后就已经初始化了父类,但是如果接着再调用一次this(),那么this()内部又会再次调用父类构造 ,也即再次调用super()方法,这样就不符合jvm中每个class只加载一次的原理了,于是sun公司作出了一个决定,硬性规定this()和super()不能同时出现,这样就根本避免了上述问题的出现。而this()和super()写在第一行是因为如果对象没有被构造,那么对这个对象的其他操作是无法进行的。

  不喜欢死板套路,只求真实原因,还望有缘人指点迷津,不吝赐教。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值