单利设计模式

Posted wangxuekui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单利设计模式相关的知识,希望对你有一定的参考价值。

单利设计模式 

     A:保证对象在内存中只有一个。

                B:如何保证?

                           **不能让其他类来创建对象。

                           **本类中要创建一个本类对象。

                           **对外提供公共的访问。

                  C:步骤 我们的类是Student

                           **private Student(){}

                           **Student s = new Student();

                           **public Student getInstance(){return s;} 

 

单利的两种方式:

    

第一种方式:饿汉式

         class Teacher{

                  //本类创建一个对象

                  private static Teacher t = new Teacher();

                  //为了保证其他类不能够创建对象

                  private Teacher(){}

                  //为了外界能够通过类名直接调用

                  public static Teacher getInstance(){

                           return t;

                  }

         }

         Teacher t1 = Teacher.getInstance();

         Teacher t2 = Teacher.getInstance();

 

第二种方式:懒汉式

         class Teacher{

                  //本类创建一个对象

                  private static Teacher t = null;

                  //为了保证其他类不能够创建对象

                  private Teacher(){}

                  //为了外界能够通过类名直接调用

                  public static Teacher getInstance(){

                           if(t==null){

                          Synchronized(Teacher.class){

                                             if(t==null){

                                     t = new Teacher();

                      }

               }

       }

                           return t;

                  }

         }

         Teacher t1 = Teacher.getInstance();

         Teacher t2 = Teacher.getInstance();

注意:开发一般用饿汉式。第二种在多线程的时候,会有安全隐患。

           面试一般考懒汉式(延迟加载)

工具类:构造私有,方法静态。直接使用类名调用,工具类一般没有访问数据,创建对象没啥意义。                                                       

 

 

 

以上是关于单利设计模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式学习笔记——单利模式

java 单利模式

java设计模式 --------单利模式

单利模式

java 单利模式

单利模式的优缺点和使用场景