【笔记】java类成员变量及代码块加载顺序

比较内容(父类和子类):

非静态成员变量

静态成员变量

构造代码块

静态代码块

构造函数

 

局部

1、static优先于非static

2、成员变量从上到下初始化(前面定义的变量不能调用后面的变量)

3、变量初始化优先于方法或代码块(不然方法或代码块就没法使用变量)

4、父类优先于子类初始化

 

总体来说,以上条件合起来又会是怎样呢?

子类:

父类:

运行结果如下图:

由此可见,在new一个类的对象时,类成员初始化及调用顺序为:

1.class字节码加载入jvm过程:父static变量、父static代码块、子static变量、子static代码块

2.实例化类对象过程:父成员变量、父构造代码块、父构造函数、子成员变量、子构造代码块、子构造函数

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值