码迷,mamicode.com
首页 > 其他好文 > 详细

单利设计模式

时间:2018-08-02 01:50:37      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:饿汉式   模式   创建   zed   vat   延迟   nbsp   方法   each   

单利设计模式 

     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();

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

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

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

 

 

 

单利设计模式

标签:饿汉式   模式   创建   zed   vat   延迟   nbsp   方法   each   

原文地址:https://www.cnblogs.com/wangxuekui/p/9404750.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!