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

设计模式-----单例模式

时间:2015-07-11 14:55:34      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

设计模式是前辈们在多年开发工作中经验的总结,可以提高代码的重用性,可靠性格规范性,让代码更加容易理解,而单例模式是最简单,最常用的设计模式之一。基本的设计模式有23种;

单例模式中有饿汉模式和懒汉模式;

 

/*

*应用的场合:有些对象只需要有一个就足够了

*作用:保证整个应用程序某个实例有且仅有一个

*类型:饿汉模式和懒汉模式

*/

/*

*饿汉模式

*当要创建一个对象时,都会调用这个类的构造方法;如果一个类没有指定构造方法;就会调用系统**默认的构造方法;、

*/

package com

public class Singleton{

//1.将构造方法私有化,不允许外部直接创建对象;

  private Singleton(){

  }

//2.创建类的实例。类的唯一实例;使用private static修饰;在Singleton加载的时候就会执行;创建一个类的实例;

private statice Singleton instance = new Singleton();

//3.提供一个用于获取实例的方法;使用public static 修饰;

 public static Singleton getInstace (){

  return instance;

}

}

 

/*懒汉模式*/

package com

public class Singleton2{

  //将构造方法私有化,不允许外边直接创建;

  private Singleton2(){

  }

  //创建类的唯一实例。使用private static修饰;当类加载的时候并没有去

  // 创建这个唯一的实例;而是当用户去获取的时候才去创建;

  private static Singleton2 instance;

  //3.用于获取实例的方法;

  public static Singleton2 getIntace(){

    if(instance == null){

      instance = new Singleton2();

    }

    return instance;

  }

 

}

public class test{

  public void main(String[] args){

  Singleton s1 = Singleton.getInstace()  ;

  Singleton s2 = Singleton.getInstace() ;

  if(s1==s2){

  System.out.print("s1和s2是同一个实例")

  }else{

    System.out.print("s1和s2不是同一个实例")

  }

  }

}

/*

饿汉模式的特点是加载类时比较慢,但在运行时比较快;(线程安全)

懒汉模式的特点是加载类时比较快,但在运行时比较慢;(线程不安全)

 

*/

设计模式-----单例模式

标签:

原文地址:http://www.cnblogs.com/zht0915/p/4638628.html

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