对Java静态代码块的理解

来源:互联网 发布:剑网三军爷脸数据 编辑:程序博客网 时间:2024/05/07 19:29
       Java中静态代码块就是在类加载时会初始化的代码块,是主动执行的;
        而非静态代码块是在创建对象时才会被执行,不创建对象则不执行;
        执行顺序为:静态代码块------>非静态代码块------>构造函数;
        静态代码块在类加载后只执行一次,而非静态代码块则会随着构造方法的调用来执行
        以下是对静态代码块和非静态代码块的测试
      
public class StaticTest {public static int id=1001;//静态变量//public int w; //非静态变量static {id++;//w=20; 静态初始化块只能给静态变量赋值,不能初始化非静态变量WSystem.out.println(id );}//普通代码块{int a=20;System.out.println(a);}//普通代码块1{int b=30;System.out.println(b);}public static void main(String[] args){//构造方法在执行之前,会先//执行普通代码块,就是普通代码块的书写顺寻//构造方法执行之前也会先执行静态代码块//1、静态代码块(静态代码块只执行一次)//2、普通代码块//3、构造方法   new StaticTest();new StaticTest();}}

       初学Java,望大牛指点!
1 0
原创粉丝点击