Java麵向對象基礎--代碼塊
1、普通代碼塊
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) ; } };
代碼塊之外,引用變量x會報錯。局部變量的作用域。
2、構造塊
將代碼塊直接定義在類中,稱為構造塊。
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() ; // 實例化對象 } };
構造塊優先於構造方法執行,且執行多次,隻要一有實例化對象產生,就執行構造塊中的內容。
3、靜態代碼塊
使用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() ; // 實例化對象 } };
靜態代碼塊優先於主方法執行,普通類中定義的靜態塊優先於構造方法執行。不管有多少個實例化對象產生,靜態代碼塊隻執行一次。
靜態代碼塊的作用:主要就是為靜態屬性初始化。
最後更新:2017-04-03 15:22:09