繼承中,類載入的順序:
1、父類的靜態**塊,子類的靜態**塊
2、父類的初始化塊,父類的構造方法
3、子類的初始化塊,子類的構造方法
public class importantdemo
system.out.println("開始了");
system.out.println("main " + new test1().b); } }
class test
static
/**/
}class test1 extends test
static
//static int b;
以上的**,為什麼test1初始化塊中的b在還未被賦值之前是11,為什麼不是30呢
先走了子類的靜態**塊(b=30),再走父類的初始化塊(b=8),再父類的構造方法(b=11覆),這個時候父類中的靜態變數b=11;然後再去走子類中的初始化塊(此時b肯定是11)父類中的變數還是父類中的變數。
java 繼承類載入順序
package xu.jin class insect static static int print string str static int x1 print static insect class hello extends insect static public static void ...
類載入順序
1.載入靜態成員 塊 先遞迴地載入父類的靜態成員 塊 object的最先 再依次載入到本類的靜態成員。同乙個類裡的靜態成員 塊,按寫 的順序載入。如果其間呼叫靜態方法,則呼叫時會先執行靜態方法,再繼續載入。同乙個類裡呼叫靜態方法時,可以不理會寫 的順序。呼叫父類的靜態成員,可以像呼叫自己的一樣 但呼...
類載入順序
靜態變數 靜態塊 構造塊 建構函式執行順序 先看乙個demo parent類 created by flh on 2017 8 20.public class parent static public static int i getint public static int getint stat...