静态代码块

1、 初始化

——————————————————————————代码如下:

 

public class Test09 {

private static int a;

private int b;

 

public void f(){

System.out.println("哈哈哈哈哈哈哈");

}

 

// 静态代码块一

static{

Test09.a = 1;

System.out.println(a);

 

Test09 t = new Test09();

t.f();

t.b = 1000;

System.out.println(t.b);

}

 

// 静态代码块二

static {

Test09.a = 2;

System.out.println(a);

}

 

// 静态代码块三

static {

Test09.a = 3;

System.out.println(a);

}

public static void main(String[] args) {

System.out.println(“main方法:”+a);

 

——————————————————————————运行结果:

 1

哈哈哈哈哈哈哈

1000

2

3

main方法:3

总结:静态块在首次创建对象或者访问类的字段时才会执行,并且只执行一次。执行顺序是代码块的先后顺序。

 

2. 静态代码块与静态函数的区别

静态代码块

    在项目启动前就执行,而且代码是主动执行的。

    静态代码块只执行一次,并且在同属于一个类的main方法之前执行

静态方法:

    在项目启动的时候初始化。不需要创建对象,静态函数可以被直接调用。

    执行是被动执行。

 

 

posted @ 2017-08-07 12:21  风之承  阅读(183)  评论(0编辑  收藏  举报