Java中的代碼塊

Java中主要有四種代碼塊:

一、普通代碼塊

  直接在一個方法中出現的{}就稱爲普通代碼塊,例子程序如下:

    public class CodeDemo01{
  public static void main(String[] args){
  //普通代碼塊
  {
  int x = 10;
  System.out.println("x=" + x);
  }
  int x = 100;
  System.out.println("x=" + x);
  }
  }

二、構造代碼塊

  直接在類中定義的沒有加static關鍵字的代碼塊{}稱爲構造代碼塊,例子程序如下:

public class CodeDemo02{
  public CodeDemo02(){
  System.out.println("========這是構造方法=========");
  }
  //這是構造代碼塊,而且在new對象時,構造代碼塊優先構造方法執行

  {
  System.out.println("=========這是構造塊!=========");
  }
  public static void main(String[] args){
  new CodeDemo02();
  new CodeDemo02();
  }
  }

三、靜態代碼塊

  使用static關鍵字聲明的代碼塊稱爲靜態代碼塊,靜態塊的主要目的是用來爲靜態屬性初始化,例子程序如下:

class Demo
  {
  static{
  System.out.println("這是Demo類中的靜態代碼塊!");
  }
  {
  System.out.println("這是Demo類中的構造塊!");
  }
  public Demo(){
  System.out.println("這是構造方法!");
  }
  }
  靜態塊優先於主方法的執行,靜態塊優先於構造方法的執行,而且只執行一次!詳情請見我的博文《Java中的static》

四、同步代碼塊

  同步代碼塊主要出現在多線程中。例如:

class SellThread implements Runnable{
   int ticket = 100;
   Object obj = new Object();
   public void run(){
      while(true){
         synchronized(obj){
           if(ticket > 0){
              ticket--;
           }
        }
     }
  }
}




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章