public class D1 {
int age ;
String name;
static String country;
// 构造代码块
{
age = 12;
name = "陈独秀";
// 构造代码块都可赋值
country = "japan";
System.out.println("构造代码块执行了");
}
// 静态代码块(被static 修饰)
static {
// age = 123;
// name = "李大钊"; 静态代码块不可赋值非静态的变量
country = "china";//静态代码块只可以赋值给静态变量
System.out.println("静态代码块执行了");
}
}
测试类
public class Test {
public static void main(String[] args) {
// 静态资源可以直接调用而不用创建对象
System.out.println(D1.country);
// 此处构造代码块执行一次
D1 d1 = new D1();
System.out.println(d1.age);
System.out.println(d1.name);
// 此处构造代码块执行第二次
D1 d2 = new D1();
// 由此可知静态代码块此生只执行一次
}
}