本文重点
我们前面学习了三个步骤:
装载
连接
初始化
初始化
初始化的时候,会为静态成员变量赋值初始值,它有两种方式:
①声明类变量是指定初始值
②使用静态代码块为类变量指定初始值
例子
最后输出的结果为3,它的过程是这样的:
main方法中输出T.count,由于count是非final的静态变量,那么此时就会将T进行加载,生成T对应的class,之后进行验证,然后给静态变量count进行赋值默认值0,给t赋值默认值null。然后进行解析,之后进行初始化,初始化的方式前面已经介绍了(2种),此时count=2,t=new T(),因为使用了new T(),所以此时会调用构造方法,count++,此时count=3。
交换之后的结果:
我们将下面的两句代码交换了位置: