定义静态代码块
static{
要编写的内容
}
触发静态代码块
Java中的静态代码块在类被加载时会触发执行,而且只会执行一次。具体的触发时机如下:
-
当类被加载时。当JVM读取字节码文件时,会先加载类的静态方法和变量,因此在这个时候静态代码块就会被执行。
-
当类主动使用时。当主动使用类时(比如通过new关键字创建对象或者调用类的静态方法或者访问类的静态变量),会触发类的初始化,静态代码块也会被执行。
需要注意的是,只有当静态代码块被执行后,类的静态变量才会被赋值。在静态代码块中可以进行一些初始化工作,比如初始化静态变量等。
静态代码块的用途
初始化数据的
与构造方法不同
构造方法是初始化对象的数据(局限于对象)
静态代码块初始化的数据就是整个环境的,只触发1次
练一练
定义一个类
定义一个静态代码块,编写任意内容
定义一个测试类
在测试类中触发静态代码块中的内容