静态代码块是在类加载的时候执行的,而普通代码块是在实例化的时候执行的。不论创建多少实例,静态代码块都只执行一次。而普通代码块在每次创建对象的时候都会被调用。- //代码如下:
- //Test.java
- package test012.zzh.bean;
- public class Test {
- static int x=0,z=0;
- static int y=0;
- {
- System.out.println("我是普通构造代码块,x="+x++);
- }
- static{
- System.out.println("我是静态代码块,y="+y++);
- }
- public Test(){
- System.out.println("我是构造方法,z="+z++);
- }
- }
- //TestDemo.java
- package test012.zzh.bean;
- public class TestDemo {
- public static void main(String args[]){
- Test test1=new Test();
- Test test2=new Test();
- Test test3=new Test();
- }
- }
- 输出结果:
- 我是静态代码块,y=0
- 我是普通构造代码块,x=0
- 我是构造方法,z=0
- 我是普通构造代码块,x=1
- 我是构造方法,z=1
- 我是普通构造代码块,x=2
- 我是构造方法,z=2
复制代码 |