单例模式-Java

public class SingletonTest
{
//程序入口。
public static void main(String[] args)
{
//通过Singleton类的静态方法获得实例。
Singleton s1 = Singleton.getSingleton();
Singleton s2 = Singleton.getSingleton();

//检验s1,s2是不是指向同一个对象。
System.out.println(s1 == s2);
}
}

class Singleton
{
//静态属性,所有该类的实例共享同一个属性。
private static Singleton singleton;
// 私有的构造函数,防止从外部生成对象。
private Singleton()
{
System.out.println("Singleton.");
}

//静态方法,不用生成对象就可以通过类名来访问。
//静态方法内只能访问静态的方法。
public static Singleton getSingleton()
{
if (singleton == null)
{
//执行构造函数,生成Singleton对象。
singleton = new Singleton();
}
return singleton;
}
}

你可能感兴趣的:(单例模式-Java)