java 静态初始化疑点

java 静态初始化疑问Java codeclass Cup{Cup(int marker){System.out.println(cup(+ marker +))}void

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()。