我看到了post
静态初始化程序。它用于提供非平凡的初始化 对于类的静态变量
然后我看到了这段代码:
public class CommandFactory {
private CommandFactory() {
}
static {
new CommandFactory();
}
它的目的是什么? (因为没有任何领域的任务)
答案 0 :(得分:3)
作者的意图可能是为其构造函数side-effects实例化CommandFactory
。
答案 1 :(得分:2)
这段代码没有多大意义。它使用空构造函数创建实例,因此没有副作用。并且对创建的实例的引用不会存储在任何地方,因此您甚至无法在以后访问它。
这可能是一个简化的例子,旨在解释一些原则,但在目前的形式中,它是无用的。
答案 2 :(得分:0)
在上下文中,除了喂垃圾收集器外,这个片段没有任何意义
但是关于名称CommandFactory
和私人ctor,它似乎是一个不完整的
单例示例,应该看起来如此:
public class CommandFactory {
private static CommandFactory instance;
private CommandFactory() {
}
static {
instance = new CommandFactory();
}
public static CommandFactory getInstance() {
return instance;
}
}
左右:
public class CommandFactory {
private static CommandFactory instance = new CommandFactory();
private CommandFactory() {
}
//...
}