静态代码块和构造代码块结构如下:
static {
静态语句代码块
}
{ 构造代码块 }
特点:静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成员变量。而构造代码块随着对象的创建而执行,每创建一次对象就执行一次构造代码块。优先级:静态代码块>构造代码块(普通初始化块)>构造方法。
public class Test_Static_Class {
//静态代码块
static {
System.out.println("静态代码块");
}
{
System.out.println("普通代码块1");
}
public Test_Static_Class() {
System.out.println("执行了构造方法");
}
//普通的成员方法
public void test() {
System.out.println("在方法中的普通代码块");
//普通的代码块
{
System.out.println("普通代码块");
}
}
public static void main(String[] args) {
System.out.println("执行了主方法");
System.out.println("--------------------");
new Test_Static_Class();
System.out.println("------第二次创建对象---------------&#