java随笔之类属性的初始化

本文详细解析了Java中类实例化与初始化的顺序,包括静态变量和非静态变量的初始化顺序,以及实例化过程中的调用顺序。通过示例代码分析,展示了Java类初始化的过程,并解释了输出结果的含义。

示例代码

 


分析输出结果:

1、创建两个 CallFieldDemo实例,但其属性demo3和demo2却输出一次,从而判断demo3和demo2只被初始化一次(因为是static变量,所有的实例共享同一个static变量,不论是private还是public)

2、从demo1、demo2、demo3、demo4输出结果的顺序看,demo3、demo2要优先于demo4和demo1被初始化(因为demo3和demo2是静态变量)

3、从 demo1、demo4输出结果的顺序看,demo4优先于demo1被初始化(因为它们同性一个类型--非静态变量)


总结:

1、同种类型的变量(静态或非静态),按照所在类中的位置依次被初始化(demo3与demo2可见);

2、静态变量优先于非静态变量被初始化(demo3/2与demo4/1可见);

3、变量的初始化要优先于构造器及函数(CallFieldDemo(5)和 print(7)可见);

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值