黑马程序员——java小结_008 _代码块的优先级

来源:互联网 发布:第四类接触 知乎 编辑:程序博客网 时间:2024/05/17 20:48

------- android培训、java培训、期待与您交流! ----------

    程序执行的时候是有顺序的,那么就代码块来说有:静态代码块,构造代码块,普通代码块和同步代码块四种。

         初接触的时候会经常弄不清到底谁先执行,咱来是一下就知道了。

         先来说明一下个代码块:

1)普通代码块:

普通代码块就是直接定义在方法或语句中定义的代码块:

public voidshow(){

普通代码块

}

 

2)构造代码块:

直接写在类中的代码块:

优先于构造方法执行,每次实例化对象之前都会执行构造代码块。

         publicclass Demo {

    {

                 System.out.println("构造代码块");

    }

   public Demo(){

                   System.out.println("构造方法");

    }

   public static void main(String[] args) {

                 Demod1  = new Demo();

                 Demod2  = new Demo();

    }

}

3)静态代码块

使用static 修饰的构造代码块:

 

特别强调一点:静态代码块优先于主方法执行,优先于构造代码块执行,不管有创建多少对象,静态代码块只执行一次

 

那么上程序:

<span style="font-size:18px;">public class Demo {    Demo(){       System.out.println("构造方法!");    }    {       System.out.println("构造代码块!");//实例化对象的时候才会去调用!    }    static{       System.out.println("静态代码块!");    }       public static void main(String[] args) {       new Demo();       new Demo();//再次创建对象,证明无论创建几次对象,静态代码块都只执行一次       System.out.println("普通代码块!");    }}</span>

输出:

静态代码块!

构造代码块!

构造方法!

构造代码块!

构造方法!

普通代码块!

 ------- android培训、java培训、期待与您交流! ----------

结果:优先级顺序:静态代码块  > 构造代码块 > 普通代码块

 


0 0
原创粉丝点击