码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式之单例模式

时间:2015-06-30 20:29:47      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:java设计模式   设计模式   单例模式   

/**
设计模式:GOF(四人帮) 书籍:《设计模式》


单例设计模式:解决一个类在内存中只存在一个对象。
*/
/**
饿汉式单例模式:先初始化对象。开发中常用。
*/
class Single{
private String name;
private int age;

private Single(){};        //这三步,保证类在内存中只存在一个对象。
private static Single s = new Single();
public static Single getInstance(){  //开发者可是根据需求使用getInstance方法
return s;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;

}
/**
懒汉式单例模式:当程序调用该方法时,才会初始化对象。
*/
class Single1{
private String name;
private int age;
private Single1(){};        //这三步,保证类在内存中只存在一个对象。
private static Single1 s = new Single1();
public static Single1 getInstance(){  //饿汉式和懒汉式的区别就在此。
if(s == null){
synchronized(Single1.class){    //防止程序运行是陷入死锁状态。
  if(s == null)
s = new Single1();      
}
}
return s;
}
public void setAge(int age){
this.age = age;
}
public int getAge(){
return age;
}
public void setName(String name){
this.name = name;
}
public String getName(){
return name;

}
class SingleDemos{
public  static void main(String args[]){
Single1 s1 = Single1.getInstance();
Single1 s2 = Single1.getInstance();
s1.setName("lzl");
System.out.println(s2.getName());
}
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

java设计模式之单例模式

标签:java设计模式   设计模式   单例模式   

原文地址:http://blog.csdn.net/u011521890/article/details/46699095

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