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(); } }