Java继承结构中类的初始化
初学者测试http://www.agoit.com/images/smiles/icon_redface.gif昨天自考考了《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
页:
[1]