java靜態代碼塊執行順序學習筆記
阿新 • • 發佈:2018-10-25
就會 pri 執行順序 mark sha 圖片 alt watermark his 先加載類靜態代碼塊--再加載主方法中函數,
如果有調用其他類,先加載其他類的靜態代碼塊,在加載其他方法,與屬性
如果有調用其他類,先加載其他類的靜態代碼塊,在加載其他方法,與屬性
@Test public void ss() { { int x = 10; //限定變量的聲明周期 System.out.println(x); } Student1 s1 = new Student1(); System.out.println("---------------"); Student1 s2 = new Student1("張三", 23); } static { System.out.println("我是在主方法類中的靜態代碼塊"); } } class Student1 { private String name; private int age; public Student1(){ //study(); System.out.println("空參構造"); } //空參構造 public Student1(String name,int age) {//有參構造 //study(); this.name = name; this.age = age; System.out.println("有參構造"); } public void setName(String name) { this.name = name; } public String getName() { return name; } public void setAge(int age) { this.age = age; } public int getAge() { return age; } { //構造代碼塊:每創建一次對象就會執行一次,優先於構造函數執行 //System.out.println("構造代碼塊"); study(); } public void study() { System.out.println("學生學習"); } static { //隨著類加載而加載,且只執行一次 System.out.println("我是靜態代碼塊"); //作用:用來給類進行初始化,一般用來加載驅動 } //靜態代碼塊是優先於主方法執行 }
java靜態代碼塊執行順序學習筆記