掌握java中的三種代碼塊的定義及使用

來源:互聯網
上載者:User

掌握java中的三種代碼塊的定義及使用

代碼塊概念

代碼塊本身並不是一個很難理解的概念,實際上之前也一直在使用。所謂代碼塊是指使用“{}”括起來的一段代碼,根據位置不同,代碼塊可以分為四種:普通代碼塊、構造塊、靜態代碼塊、同步代碼塊,其中同步代碼塊本書將在多線程部分進行講解,本章先來觀察其他三種代碼塊。

普通代碼塊

直接定義在方法中的代碼塊稱為普通代碼塊。

public class CodeDemo01{
 public static void main(String args[]){
  {  // 普通代碼塊
   int x = 30 ; // 就屬於一個局部變數
   System.out.println("普通代碼塊 --> x = " + x) ;
  }
  int x = 100 ;  // 與局部變數名稱相同
  System.out.println("代碼塊之外 --> x = " + x) ;
 }
};

運行結果:

C:\Documents and Settings\Administrator\案頭\java>java CodeDemo01
普通代碼塊 --> x = 30
代碼塊之外 --> x = 100

構造塊:

將代碼塊直接定義在類中,則稱為構造代碼塊。

class Demo{
 { // 直接在類中編寫代碼塊,稱為構造塊
  System.out.println("1、構造塊。") ;
 }
 public Demo(){ // 定義構造方法
  System.out.println("2、構造方法。") ;
 }
};
public class CodeDemo02{
 public static void main(String args[]){
  new Demo() ;  // 執行個體化對象
  new Demo() ;  // 執行個體化對象
  new Demo() ;  // 執行個體化對象
 }
};

運行結果:

C:\Documents and Settings\Administrator\案頭\java>java CodeDemo02
1、構造塊。
2、構造方法。
1、構造塊。
2、構造方法。
1、構造塊。
2、構造方法。

構造塊優先於構造方法執行,且執行多次,只要一有執行個體化對象產生,就執行構造塊中的內容。

靜態代碼塊:

直接使用static關鍵字聲明就稱為靜態代碼塊.

class Demo{
 { // 直接在類中編寫代碼塊,稱為構造塊
  System.out.println("1、構造塊。") ;
 }
 static{ // 使用static,稱為靜態代碼塊
  System.out.println("0、靜態代碼塊") ;
 }
 public Demo(){ // 定義構造方法
  System.out.println("2、構造方法。") ;
 }
};
public class CodeDemo03{
 static{  // 在主方法所在的類中定義靜態塊
  System.out.println("在主方法所在類中定義的代碼塊") ;
 }
 public static void main(String args[]){
  new Demo() ;  // 執行個體化對象
  new Demo() ;  // 執行個體化對象
  new Demo() ;  // 執行個體化對象
 }
};

運行結果:

C:\Documents and Settings\Administrator\案頭\java>java CodeDemo03
在主方法所在類中定義的代碼塊
0、靜態代碼塊
1、構造塊。
2、構造方法。
1、構造塊。
2、構造方法。
1、構造塊。
2、構造方法。

靜態塊優先於主方法執行,如果在普通類中定義的靜態塊,優先於構造塊執行,不管不多少個執行個體化對象產生,靜態代碼塊只執行一次,靜態代碼塊的主要功能就是為靜態發生初始化。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.