MyException - 我的异常网
当前位置:我的异常网» J2SE » java 静态初始化疑点

java 静态初始化疑点

www.MyException.Cn  网友分享于:2013-12-11  浏览:11次
java 静态初始化疑问
Java code


class Cup{
    Cup(int marker){
        System.out.println("cup("+ marker +")");
    }
    void f(int marker){
        System.out.println("f("+marker+")");
      }
    
}

class Cups{
    static Cup cup1;
    static Cup cup2;
    static {
        cup1 = new Cup(1);
        cup2 = new Cup(2);
    }
    Cups() {
        System.out.println("Cups()");
    }
    }
    
    

public class JingTai {
    
    public static void main(String[] args){
        System.out.println("Inside main()");
        Cups.cup1.f(99);
    }
    
    

}





输出结果为

Inside main()
cup(1)
cup(2)
f(99)



为什么没输出Cups()

谢谢



------解决方案--------------------
在你的Main方法中
System.out.println("Inside main()");
Cups.cup1.f(99); 这两句代码第一句直接输出Inside main(),第二句是调用f()方法,你要加一个new Cups()调用Cups构造方法才会显示你想要的Cups()。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有