java基础之单例模式

单列模式:

单例模式指的是一个类只能有一个实例,这样的类被称为单例类,或者单态类,即Singleton Class
单例类的特点
单例类只可有一个实例
它必须自己创立这唯一的一个实例
它必须给所有其它的类提供自己这一实例


单例模式有两种常见的实现方式,被称为饿汉式与懒汉式。

饿汉式:加载类的时候就初始化一个实例。

package com.etc.day17.single;

public class SingleDemo_1 {
	//饿汉单列
	private static  SingleDemo_1 s1 = new SingleDemo_1();
	
	private SingleDemo_1(){}
	
	public static SingleDemo_1 getInstance(){
		return s1;
		
	}
	

}

懒汉式:加载类的时候不初始化,当第一次使用实例时才初始化。

package com.etc.day17.single;

public class SingleDemo_2 {
	//懒汉单列
	private  static SingleDemo_2  s = null;
	
	private SingleDemo_2(){}
	
	public static SingleDemo_2 getInstance(){
		if(s==null){
			s = new SingleDemo_2();
		}
		return s;
		
	}

}
构造方法是private权限,保证其他类无法创建该类实例,只能该类自身创建

声明一个static修饰的自身实例,保证该实例永远只是一个

提供一个public方法,返回定义的static自身实例



posted @ 2017-08-17 20:08  杰醍奋  阅读(80)  评论(0编辑  收藏  举报