类的加载
1. java里,类型的加载、连接、初始化过程都是在程序运行期间完成的。这个和那些在编译时需要进行连接工作的语言不太相同。
2. 被final static 修饰的常量,会在编译期把结果放入常量池。所以final static a =123,在准备阶段就会赋值为123. 因为在编译的时候就已经把123的值初始化完了。
3. 通过子类来引用父类中定义的静态字段,只会触发父类的初始化,而不会触发子类的初始化,至于是否要触发子类的加载和验证,在虚拟机规范中也没有明确定义。
类变量也叫静态变量,也就是在变量前加了static 的变量;
实例变量也叫对象变量,即没加static 的变量;
准备阶段只会初始化类变量即类静态变量!!!
===================
new 实例
实例变量在类被new 的时候初始化!!
本文深入探讨Java中类的加载、连接与初始化过程,解析finalstatic常量的编译期特性,以及类变量与实例变量的初始化时机。同时,讨论通过子类引用父类静态字段时的类初始化行为。
1358

被折叠的 条评论
为什么被折叠?



