您的位置:首页 > 编程语言 > Java开发

java设计模式之单例模式

2015-11-22 17:03 405 查看
单例设计模式:

保证一个类仅有一个实例, 并提供一个访问它的全局访问点。

如何保证单例模式(不能被任意实例化对象)

1:构造方法私有化

2:声明一个本类对象

3:给外部提供一个静态方法获取对象的实例

实现方式:

1:饿汉式

2:懒汉式

代码如下:

/*

* 单例设计模式

*/

public class SingletoDemo {

public static void main(String[] args) {

Singleto1 s= Singleto1.getInstance();

s.print();

Singleto2 s2 = Singleto2.getInstance();

s2.print();

}

}

/*

* 把该类设计常单例模式

* 1:饿汉式

*/

class Singleto1{

//定义一个本类对象并实例化

private static Singleto1 s = new Singleto1 ();

//构造方法私有化

private Singleto1() {

}

//给外部提供一个静态方法获取实例对象

public static Singleto1 getInstance () {

return s;

}

public void print () {

System.out.println("饿汉式单例模式");

}

}

/*

* l懒汉式单例设计模式

*/

class Singleto2{

//定义一个本类对象但不实例化

private static Singleto2 s = null;

//构造方法私有化

private Singleto2() {

}

//给外部提供一个静态方法获取实例对象

public static Singleto2 getInstance () {

if (s==null) {

s = new Singleto2();

}

return s;

}

public void print () {

System.out.println("懒汉式单例设计模式");

}

}

/* 1:推荐使用饿汉式

* 2:懒汉式会涉及线程安全问题

* 3:应用场合:在设计中有时需要工具类,如访问数据库等操作

* 将其设计成单例模式应用将会很便捷。

*/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: