初學者測試
昨天自考考了《java程式語言設計》,有點不太記得類的初始化過程了,順便複習了一下。
同樣準備了測試題一枚。把自己的email分散到輸出中,如果正確輸出,說明分析正確了。
不行怎麼行,這是基礎。下面程式請先分析,如果結果(用白色字型是輸出結果)正確,說明您對java類的初始化已經很熟悉,算是過關,如果沒有,那趕緊複習吧。
package nie.test.extend; /** 子構造子的初始化過程: * @author dotjar * 1.父static域 * 2.父static塊 * 3.子static域 * 4.子static塊 * 5.父普通域 * 6.父普通塊{} * 7.父構造子 * 8.子普通域 * 9.子普通塊{} * 10.子構造子 */ public class Test { public static void main(String[] args) { new Son("s"); } } class Father { static protected String s = "father_static_property_string"; //1 protected String b = "father_normal_property_string"; //5 static { s = "o"; //2 System.out.print("d"); System.out.print(s); } { b="r"; //6 System.out.print("a"); System.out.print(b); } Father() { this("@"); System.out.print("1"); //8 } Father(String s) { System.out.print(s); //7 } } class Son extends Father { public static String s = "son_static_property_string"; //3public String b = "son_normal_property_string"; //9 static { s = "j"; //4 System.out.print("t"); System.out.print(s); } { b = "3"; //10 System.out.print("6"); System.out.print(b); } Son() { System.out.print("."); //11 } Son(String s) { this(); System.out.print("com"); //12 } }
測試完自己的輸出,可以用滑鼠選中下一行,檢查。
這裡:dotjar@163.com