Java基础 -> 自己对子类调用父类构造器的理解

子类要调用父类构造器

super();调用父类的空参构造器
在编译期间,jvm会读取每个类,然后创建一个init的初始化方法,
init方法里有通过编译得到的你写的类中的代码
按一定顺序排列
init(){
1.super();//这个还是要有的,是通过编译你构造器中的super得到的,因为每个类中都会有嘛,你是this();他就是this();你是带参数的,他就是带参数的,反正跟你构造器中的一样,如果你有很多构造器,就会创建多个init方法,每个方法第一句都是super(),或者this().或者带参数
2.静态的东西, 属性什么的就不多说了,所以在静态,代码块,非静态,构造器执行顺序中,先执行的会是静态的东西
3.非静态的属性
4.代码块,同上,反正编译的时候会识别你的类中的东西,为你排好顺序,代码块在静态的下面
5.构造器中的代码 //这里不是说访问顺序,构造器在最后面,我的理解是构造器早就编译了,在第一行的super可以体现,这里只是把你自己在构造器中写的代码放在第五位这里,比如你在构造器中给非静态赋值了,早在第四步的时候,非静态的就会有默认值,0或者null,你在构造器中再赋值,他就会变成你赋值的那个数

}

所以子类要调用父类构造器,jvm编译识别构造器,然后用init—就变成了加载静态,代码块,非静态,构造器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值