我在下面的链接中找到了这个用法,在第 5 步的服务定位器设计模式指南中 https://www.tutorialspoint.com/design_pattern/service_locator_pattern.htm
我不明白他们为什么使用这种结构。
public class ServiceLocator {
private static Cache cache;
static {
cache = new Cache();
}
}
对比
private static Cache cache = new Cache();
答案 0 :(得分:0)
在此特定实例中,结果完全相同。如果您需要应用更多逻辑而不仅仅是简单的字段初始化,您可以使用静态块。
如果你的目标是提高代码可读性,你应该只初始化一个静态变量:
private static Cache cache = new Cache();