JVM虚拟机:初始化的介绍

本文重点

我们前面学习了三个步骤:

装载

连接

初始化

初始化

初始化的时候,会为静态成员变量赋值初始值,它有两种方式:

①声明类变量是指定初始值

②使用静态代码块为类变量指定初始值

例子

最后输出的结果为3,它的过程是这样的:

main方法中输出T.count,由于count是非final的静态变量,那么此时就会将T进行加载,生成T对应的class,之后进行验证,然后给静态变量count进行赋值默认值0,给t赋值默认值null。然后进行解析,之后进行初始化,初始化的方式前面已经介绍了(2种),此时count=2,t=new T(),因为使用了new T(),所以此时会调用构造方法,count++,此时count=3。

交换之后的结果:

我们将下面的两句代码交换了位置:

猜你喜欢

转载自blog.csdn.net/huanfeng_AI/article/details/132352737