java中的设计模式:单例设计模式

原创 2012年03月29日 15:08:19

---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

/*

什么叫设计模式:设计模式是解决某一类问题最行之有效方法;

java中一共有23种设计模式

所谓单例设计模式就是一个类在内存中有且只能有一个实例对象

如何才能保证为的是要保证对象的唯一性?

1.为了避免其他程序建立多个对象,先禁止其他程序建立该类的对象

2.为了让其他类能够访问到该类的对象,只好在本类中,自定义一个对象

3.为了方便其他程序对自定义对象的访问,可以对外提供一些访问方法


这三步如何用代码实现呢:

1.将构造函数私有化;

2.在类中创建一个本类对象

3.自定义一个方法,使其返回值为该类的一个对象;

*/

第一种方式:饿汉式

class Person

{

private Person(){};//将构造函数私有化

private Person p = new Person;

pulic static Person getPersonInstance()//方法必须是静态的,否则类名无法直接调用

{

return p;

}

}


class PersonDemo

{

Person pp = Person.gerPersonInstance();

}


第二种方式:懒汉式

class Person

{

private static Person p =null;

private Person();

public static Person getPersonInstance()

{

if(p++null)

{

 p=new Person();

return p;

}

}

}


/*

对象先初始化称为“饿汉式”,对象后初始化称为“懒汉式”

一个是一进内存就创建对象,一个是等到调用getPersonInstance()才建立对象

在开发中通常用饿汉式,因为不涉及线程同步的问题。懒汉式会有由于线程不同步而造成的风险;

*/




---------------------- Windows Phone 7手机开发.Net培训、期待与您交流! ----------------------

相关文章推荐

java 单例设计模式

  • 2014年10月07日 11:08
  • 126KB
  • 下载

java单例设计模式

  • 2015年04月22日 21:10
  • 73KB
  • 下载

Java学习日记(三)面向对象、类、封装、构造函数、this、static、静态代码块、单例设计模式

Java学习日记(三)面向对象、类、封装、构造函数、this、static、静态代码块、单例设计模式...
  • zgjswp
  • zgjswp
  • 2015年04月07日 21:46
  • 389

java单例设计模式的好处

  • 2013年04月19日 14:59
  • 140KB
  • 下载

Java的单例设计模式

  • 2015年12月29日 21:57
  • 5KB
  • 下载

JAVA基础——单例设计模式(饿汉式与懒汉式)

单例设计模式: 解决一个类在内存只存在一个对象。 想要保证对象唯一 1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象 2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个...

java单例设计模式

  • 2016年07月31日 22:32
  • 20KB
  • 下载

【14】-java的单例设计模式详解

预加载模式代码:public class Singleton { private volatile static Singleton singleton = new Singleton(); ...

JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制

JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是cl...

黑马程序员_Java基础_面向对象,封装,继承,单例设计模式,构造函数,构造代码块

一,面向对象 1,基本理解 面向对象其实是一种思想,现实生活中我们所看到的东西,包括想到的一个概念都可以看做是一个对象。 如果有人问到你对面向对象的理解,可以举一个例子说明,比如:我们去餐馆就餐...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中的设计模式:单例设计模式
举报原因:
原因补充:

(最多只允许输入30个字)