- 论坛徽章:
- 0
|
一个单例模式代码:
public class SingletonTest
{
public static void main(String[] args)
{
Singleton singleton = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
System.out.println(singleton == singleton2);
}
}
class Singleton
{
private static Singleton singleton = new Singleton();
private Singleton()
{
}
public static Singleton getInstance()
{
return singleton;
}
}
singleton 和singleton2相同,是同一个对象,为什么呢?主要就是private static Singleton singleton = new Singleton();
这一句,加了static是不是说new Singleton()只执行一次,第一次Singleton singleton = Singleton.getInstance();时加载Singleton,初始化Singleton属性,第二次
Singleton singleton2 = Singleton.getInstance();时,因为内存中有singleton属性,就不new Singleton(),直接返回原singleton呢???
请大侠给解释解释,谢谢 |
|