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;

    }



}

你可能感兴趣的:(java设计模式)