您的位置:首页 > 职场人生

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

2014-09-13 04:14 232 查看
-------
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培训、期待与您交流! ----------

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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 代码块 优先级