论坛相关的帖子:JAVA初始化的问题(主动调用和被动调用)
先看例子
结果:
-----static---------
------main()--------
注释掉(1)和(4),去掉(2)和(5)前的注释
结果:
------main()--------
再注释掉(2),去掉(3)前的注释
结果:
-----static---------
------main()--------
我以为static clause一定会调用
看来不是的
如果仅仅是说final导致static clause没被的原因
那(1)的时候还是会有static clause调用
而(1)与(3)的区别在于a的值要到运行时才能确定
(2)中,其实a的值也可以说要到运行时才能确定,因为其值是可变的
所谓的主动调用与被动调用问题?
编译期和执行期决定值的问题?
变量与常量的问题?
暂时先记住这个结果吧,慢慢来学习,并解释