jdk中很多类使用的就是单例模式,像Calendar,Proxy等等。
package singleton;
/**
*
* 单例模式类,该类只能产生一个对象
*
* @author Administrator
* @version [版本号, 2012-10-17]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class Singleton
{
private static Singleton instance;
/**
* 为了限制除了该类之外无法构造对象,将构造函数私有化
*/
private Singleton()
{
}
/**
* 获取该类实例的唯一静态方法
* @return
* @see [类、类#方法、类#成员]
*/
public static Singleton getInstance()
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
package singleton;
public class TestSingleton
{
/** 测试单例模式的主函数
* @param args
* @see [类、类#方法、类#成员]
*/
public static void main(String[] args)
{
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
if (s1 == s2)
{
System.out.println("s1和s2是同一对象实例");
}
else
{
System.out.println("s1和s2不是同一对象实例");
}
}
}