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)可见);

展开阅读全文

没有更多推荐了,返回首页