关于java中的非静态代码块和静态代码块

来源:互联网 发布:利用淘宝双十一赚钱 编辑:程序博客网 时间:2024/05/25 16:38

非静态代码块如:

{System.out.println("2");}
以上代码块就是非静态的代码块,请注意这里的方法名、作用域、返回值、参数一概没有,非静态代码块会在每次类被调用或者被实例化时就会被执行。

静态代码块如:

static {System.out.println("3");}
上面的代码块就是静态的代码块,同样没有方法名、作用域、返回值以及参数,静态代码块类似于静态变量,不论类被调用多少次,该区域代码只在第一次时执行一次

大家可以通过下面的代码做进一步的测试

public class test1 {public static void main(String[] args) {// TODO Auto-generated method stubnew test1();new test1();}{System.out.println("2");}static {System.out.println("3");}public test1(){System.out.println("1");}}
输出结果为

3
2
1
2
1

从结果中发现静态代码块以及非静态代码块都会在构造函数前执行,首次访问时,静态代码块会在非静态代码块前执行



0 1
原创粉丝点击