程式碼塊 靜態程式碼塊 區域性程式碼塊 構造程式碼塊
阿新 • • 發佈:2018-11-02
程式碼塊
程式碼演示
public class Teacher { public Teacher(){ // System.out.println("我是Teacher建構函式"); //建構函式 } // { // System.out.println("我是Teacher構造程式碼塊"); //構造程式碼塊 } // static{ // System.out.println("我是Teacher靜態程式碼塊"); //靜態程式碼塊 } // public static void main(String[] args) { { // System.out.println("我是Teacher區域性程式碼塊");//區域性程式碼塊 } // Teacher t = new Teacher(); System.out.println("----------------"); Teacher tt = new Teacher(); }
結果
我是Teacher靜態程式碼塊
我是Teacher區域性程式碼塊
我是Teacher構造程式碼塊
我是Teacher建構函式
----------------
我是Teacher構造程式碼塊
我是Teacher建構函式
注:靜態程式碼塊都是先執行的,並且只執行一次,因為它是隨著類的載入而載入的,執行程式時只加載一次類,因此它只執行一次;區域性程式碼塊也執行一次,因為它用完會自動釋放記憶體,因此不會再執行第二次,如果它出現在new的物件前它會比構造程式碼塊先執行,反之則執行在構造方法後;構造程式碼塊比構造方法先執行