Java--单例模式

涎涎原创约 478 字大约 2 分钟...JavaJava

14-Java--单例模式.mdopen in new window

注意

本博文仅供学术研究和交流参考,严禁将其用于商业用途。如因违规使用产生的任何法律问题,使用者需自行负责。

  • 单例模式(singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点

  • 单例模式要点:

    • 某个类只能有一个实例
    • 它必须自行创建这个示例
    • 必须自行向整个系统提供这个实例
  • 单例模式实现:

    • 拥有一个私有构造器
    • 提供一个自身静态私有的成员变量
    • 提供一个公有的静态公有的方法
public class Singleton { 
  //在自己内部定义自己的一个实例,只供内部调用 
  private static Singleton instance = new Singleton(); 
  private Singleton(){ 
  	//do something 
  } 
  //这里提供了一个供外部访问本class的静态方法,可以直接访问 
  public static Singleton getInstance(){ 
 	 return instance; 
  } 
 } 
 单例模式实现步骤:
 1.构造器私有
 2.提供私有的静态的当前类类型的变量
 3.提供一个公共的静态方法,返回刚才定义的变量,如果这个变量为null,那么给他赋值
public class MyOrder {

//	public MyOrder() {
//		// TODO Auto-generated constructor stub
//	}//为什么有这个空的构造器存在。。输出值就为0咯。。。没有则为1
	
	
	private static MyOrder myOrder;//第一个MyOrder是引用类型 第二个myOrder是变量名
	
	public static MyOrder getInstance()
	{
		if(myOrder == null) {
			myOrder = new MyOrder();
		}
		return myOrder;
	}
	
	
	static int count = 0;
	
	private MyOrder()
	{
		count++;
	}
	
	public static void main(String[] args) {
		for (int i = 0; i < 10; i++) {
			MyOrder myOrder = MyOrder.getInstance();
		}
		System.out.println(MyOrder.count);//1
	}
}

分割线


相关信息

以上就是我关于 Java-单例模式 知识点的整理与总结的全部内容,另附源码open in new window

上次编辑于:
贡献者: 涎涎
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.4