1013
技術社區[雲棲]
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