关于静态代码块

静态代码块,在建立实例的时候就会执行. 首先开来看一个实例:java

1.误区测试

class MyClass1 {
	static {//静态块
		System.out.println("static block ");
	}
}
public class Main {
	Class[] classArray = {
			MyClass1.class//这样引用该类,必然须要将该类加载到虚拟机中
	};
	public static void main(String[] args){
		System.out.println("hello word");
	}
}

这里没有打印静态代码块,由于类没有被实例化code

2.实例化以后虚拟机

class MyClass1 {
	static {//静态块
		System.out.println("static block ");
	}
}
public class Main {
	Class[] classArray = {
			MyClass1.class//这样引用该类,必然须要将该类加载到虚拟机中
	};
	public static void main(String[] args){
		System.out.println("hello word");
		MyClass1 class1=new MyClass1();
	}

}

3.继续测试class

class MyClass1 {
	static {//静态块
		System.out.println("static block ");
	}
}
public class Main {
	static {//静态块
		System.out.println("static block2 ");
	}
	Class[] classArray = {
			MyClass1.class//这样引用该类,必然须要将该类加载到虚拟机中
	};
	public static void main(String[] args){
		System.out.println("hello word");
		MyClass1 class1=new MyClass1();
	}

}
相关文章
相关标签/搜索