thinking in java test练习(13)(14)

来源:互联网 发布:卷福小龙虾淘宝 编辑:程序博客网 时间:2024/05/22 13:21

练习(13):验证前面段落中的语句。

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);    }}
0 0
原创粉丝点击