本帖最后由 wisely 于 2014-7-21 22:31 编辑
设计模式,是指解决某一类问题最行之有效的方法。
1、单例设计模式
单例设计模式,解决一个类在内存中只有一个对象。
想要保证对象唯一。
1、为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象。
2、还为了让其他程序可以访问到该类对象,只好在本来中,自定义一个对象。
3、为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。
这三步怎么用代码体现?
1、将构造方法私有化。
2、在类中创建一个本类对象
3、提供一个方法可以获取到该类对象。
单例设计模式有两种方式,饿汉式和懒汉式。
建议使用饿汉式。
为了解决线程安全问题,使用双重判断并加锁
- class Single{
- int num;
- private static Single s=null;
- private Single(){}
- public static Single getInstance(){
- if(s==null)
- synchronized(Single.class){
- if(s==null)
- return s=new Single();
- }
- return s;
- }
- public void setNum(int num){
- this.num=num;
- }
- public int getNum(){
- return num;
- }
- }
- public class Sunday{
- public static void main(String[] args){
- Single ss=Single.getInstance();
- Single s=Single.getInstance();
- ss.setNum(10);
- System.out.println(s.getNum());
- }
- }
复制代码
|
|