单例设计模式
单例设计模式指:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例
两种实现方式:
1.饿汉式
2.懒汉式
/** * * 单例设计模式 * */ public class SingletonDemo { public static void main(String[] args){ Singleton1 s=Singleton1.getInstance(); s.show(); Singleton1 s1=Singleton1.getInstance(); System.out.println(s==s1); Singleton2 s2=Singleton2.getInstance(); s2.show(); Singleton2 s3=Singleton2.getInstance(); System.out.println(s2==s3); } }
//饿汉式 public class Singleton1 { //定义一个本类对象并实例化 private static Singleton1 s=new Singleton1(); //构造方法私有化 private Singleton1(){}; public static Singleton1 getInstance(){ return s; } public void show(){ System.out.println("饿汉式单例模式"); } }
//懒汉式(多线程访问时会有安全问题) public class Singleton2 { //定义一个本类对象 private static Singleton2 s=null; //构造方法私有化 private Singleton2(){}; public static Singleton2 getInstance(){ if(s==null){ s=new Singleton2(); } return s; } public void show(){ System.out.println("懒汉式单例模式"); } }
原文地址:http://12170190.blog.51cto.com/12160190/1876886