thinking in java test练习(13)(14)
2016-09-03 10:45
561 查看
练习(13):验证前面段落中的语句。
练习(14):编写一个类,拥有两个静态字符串域,其中一个在定义处初始化,另一个在静态块中初始化。现在,加入一个静态方法用以打印两个字段值。请证明它们都会在被使用之前完成初始化动作。
public class test5_7_13 { public static void main(String[] args){ System.out.println("inside main()"); // Cups.cup1.f(99); } static Cups cups1 = new Cups(); static Cups cups2 = new Cups(); /** * 输出结果 * Cup (1) Cup (2) Cups() Cups() inside main() 说明:1,无论new多少个对象,静态初始化只进行一次 2,先于main运行 */ } class Cup{ Cup(int marker){ System.out.println("Cup (" + marker + ")"); } void f(int marker){ System.out.println("Cup (" + marker + ")"); } } class Cups{ static Cup cup1; static Cup cup2; static { cup1 = new Cup(1); cup2 = new Cup(2); } Cups(){ System.out.println("Cups()"); } }
练习(14):编写一个类,拥有两个静态字符串域,其中一个在定义处初始化,另一个在静态块中初始化。现在,加入一个静态方法用以打印两个字段值。请证明它们都会在被使用之前完成初始化动作。
public class test5_7_14 { public static void main(String[] args){ staticTest test = new staticTest(99); test.f(100); /** * 输出结果: * 1 * 99 * 100 * 说明确实是在被使用前完成初始化 */ } } class staticTest{ static int num; static { String name = "1"; System.out.println(name); } staticTest(int num){ this.num = num; System.out.println(num); } void f(int num){ this.num = num; System.out.println(num); } }
相关文章推荐
- thinking in java test练习(12)(13)javadoc的生成
- thinking in java test3.11练习(11)(12)(13)
- thinking in java test3.17练习(14)
- 《Thinking in Java》十七章_容器深入研究_练习13(Page484)
- thinking in java test5.5练习(10)(11)(12)finalize()方法
- thinking in java test5.5练习(10)(11)(12)finalize()方法
- thinking in java test3.4练习(2)(3)别名机制
- thinking in Java test3.1练习(1)print,println,printf
- thinking in java test5.3练习(3)(4)(5)(6)(7)
- thinking in java test5.1练习(1)(2)
- thinking in java test4.3练习(1)(2)(3)(4)(5)用三元操作符和按位操作来显示二进制
- thinking in java test5.8练习(16)(17)(18)
- thinking in java test3.10练习(10)按位运算
- thinking in java test2.11练习(9)之java装箱拆箱
- 《Thinking in Java》十七章_容器深入研究_练习13(Page484)
- thinking in java test练习(8)(9)this关键字
- thingking in java test5.9练习(19)(20)(21)(22)
- thinking-in-java(13) String字符串
- thingking in java test2.11练习(8)