java设计模式之单例模式

单例设计模式:

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

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

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:应用场合:在设计中有时需要工具类,如访问数据库等操作

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

 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值