创设模式之单态模式(Singleton)

创建模式之单态模式(Singleton)
单态设计模式的特点

1、单态类确保自己有却只有一个实例。

2、单态类必须自己创建自己的实例。

3、单态类必须为其他对象提供唯一的实例。

单例模式的优点:

在内存中只有一个对象,节省内存空间。

避免频繁的创建销毁对象,可以提高性能。

避免对共享资源的多重占用。

可以全局访问。

代码:
package Singleton;

//单例实现方法一
class FileDao{
	private static FileDao fileDao = new FileDao();
	public static FileDao getFileDao(){
		return fileDao;
	}
	private FileDao(){
		System.out.println("FileDao构造函数");
	}
	public void sayHello(){
		System.out.println("sayHello");
	}
}

//单例实现方法二
class Hello{
	private static Hello hello = null;
	public  static synchronized Hello getHello(){
		if(hello==null){
			hello = new Hello();
		}
		return hello;
	}
	private Hello(){
		System.out.println("Hello构造函数");
	}
	public void sayHello(){
		System.out.println("Hello.sayHello");
	}
}
public class Singleton {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FileDao fileDao = FileDao.getFileDao();
		fileDao.sayHello();
		FileDao fileDao1 = FileDao.getFileDao();
		fileDao1.sayHello();
		
		Hello hello = Hello.getHello();
		hello.sayHello();
		Hello hello1 = Hello.getHello();
		hello1.sayHello();
	}

}