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

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

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

public class ExplicitStatic {
  static Cups x = new Cups();
  static Cups y = new Cups();

  public static void main(String[] args) {
    System.out.println("Inside main()");
  }
}


输出:

Cup(1)
Cup(2)
Cups()
Cups()
Inside main()


所以有两个静态杯
    在ExplicitStatic类中,为什么只显示
    杯(1)和&杯(2)?

最佳答案

由于static变量将被初始化一次。

关于java - 试图了解静态是Java,为什么它是此代码中的输出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28643798/

10-09 13:07