图片和代码来自原文,原文链接:
http://www.tutorialspoint.com/design_pattern/singleton_pattern.htm
-----------------------------------------------------------------------------------------------
单例模式是Java中最简单的设计模式之一。单例模式属于创建型模式,提供了创建对象的最佳实践方法之一。
单例模式包含一个单一的类,通过该类只能创建它的一个对象。程序可以不通过实例化该类的对象,而直接访问该类唯一的实例对象。
实现
创建类SingleObject,该类包含一个私有的构造方法和一个自己的静态实例。
SingleObject提供一个访问其静态实例的静态方法。示例类SingletonPatternDemo使用SingleObject获取SingleObject对象。
步骤1:新建一个单例类SingleObject
SingleObject.java
publicclassSingleObject{
//createan object of SingleObject
privatestaticSingleObject instance =newSingleObject();
//makethe constructor private so that this class cannot be
//instantiated
privateSingleObject(){}
//Getthe only object available
publicstaticSingleObject getInstance(){
return instance;
}
publicvoid showMessage(){
System.out.println("HelloWorld!");
}
}
步骤2:获取SingleObject类的唯一实例对象
SingletonPatternDemo.java
publicclassSingletonPatternDemo{
publicstaticvoid main(String[] args){
//illegalconstruct
//CompileTime Error: The constructor SingleObject() is not visible
//SingleObjectobject = new SingleObject();
//Getthe only object available
SingleObjectobject=SingleObject.getInstance();
//showthe message
object.showMessage();
}
}
步骤3:输出
HelloWorld!