Java示例中的Singleton是不合逻辑的

Jaa*_*nus 1 java singleton

这是一个例子:

http://www.tutorialspoint.com/java/java_using_singleton.htm

在查看第一个示例时,当用户写入:时Singleton.getInstance(),它会调出:

new Singleton()

我不知道它是什么单身,每当它创建一个新的单例对象时?

我理解第二个例子.如果singleton为null,则创建新对象,但在第一个示例中,它始终创建新对象??

那是怎么回事?

Jon*_*eet 10

不,在第一个例子中,唯一的呼叫new Singleton()是在这里(内Singleton):

private static Singleton singleton = new Singleton( );
Run Code Online (Sandbox Code Playgroud)

那是一个静态变量初始化器.它只执行一次,并且仅在需要时执行.(如果您从未触摸过Singleton该类,则初始化程序将不会执行.)