Xiao bailong

Java设计模式--单列设计模式

设计模式:解决某一类问题行知最有效的方法。java有23种设计模式

单列设计模式:

解决一个类在内存中只存在一个对象

思路:(要保证对象的唯一性)

1.为了避免其它程序建立该对象,先禁止替他类创建改对象,(构造函数私有化)

2.还能让其他程序可以访问到该对象,只能在该类中自己生成一个对象

3.为了其他程序可以访问到当中的值,可以设计一些方法获取到值。

 

当然他们当中有两种方式:懒汉式,饿汉式。

(其中两者的区别是在内存当中的何时创建)

下面是饿汉式的代码:(写法)(开发一般用这个方法)

//创建一个学生类的单列设计模式
class Student
{
    private String name="zhulang"; 
    //构造函数私有化
    private Student(){};
    //静态自己创建自己的对象
    private static Student s =new Student();
    
    //静态方法获取到该对象
    public static String getInstance()
    {
        return s.name;
    }

 

懒汉式:(面试时一般用这个)

原理,对象是在方法被调用时,才初始化,也叫做对象的延时加载

如下:只有Student类进内存。但是对象没有存在,只getInstance方法是才被创建

class Student
{
    private String name = "zhulang";

    // 构造函数私有化
    private Student()
    {
    };

    // 静态自己创建自己的对象
    private static Student s = null;

    // 静态方法获取到该对象
    public static String getInstance()
    {
        //对象是否被其他程序调用 
        if (s == null)
        {
            //上锁
            synchronized (Student.class)
            {
                if (s == null)
                    s = new Student();
            }
        }
        return s.name;
    }

}
posted @ 2015-06-06 10:34  小白龙on  阅读(363)  评论(0编辑  收藏  举报

QQ:846650266,电话:15117424475

© 白龙工作室 |隐私条款 |服务条款 |盘ICP备10000000号-1