我不明白A和B之间的区别。

一种

private static final CookieStore sCookieStore;
static {
    sCookieStore = new CookieStore();
}




private static final CookieStore sCookieStore = new CookieStore();


是否有人可以澄清我的理解?

最佳答案

在您的示例中,它们实际上是等效的。 B较短,是简单创建的首选,但A允许更复杂的初始化。

例如。

private static final CookieStore sCookieStore;

static {
  sCookieStore = new CookieStore();
  sCookieStore.setSize(1000);
  sCookieStore.addToBlacklist("bing.com");
  sCookieStore.readCookiesFromFile("/tmp/cookies.txt");
}

关于java - Java中的静态变量启动器,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9970123/

10-10 02:35