单例程 饿汉式 懒汉式
来源:互联网 发布:用友u8数据库修复工具 编辑:程序博客网 时间:2024/05/17 07:59
<strong></strong><pre name="code" class="java"><strong>【饿汉式】</strong>
public class Single {private static Single single = new Single();private Single(){}public static Single getInstance(){return single;}}
public class Demo {public static void main(String[] args) {Single s = Single.getInstance();Single s1 = Single.getInstance();System.out.println(s);System.out.println(s1);}}
两个变量地址相同。
总结:单例类
1.私有构造方法;
2.本类中创建对象;
3.对外提供获取本类对像的方法;
单例类在代码上的体现:
饿汉式:此类一加载就创建对象;上为饿汉式;
【懒汉式】
<span style="font-size:18px;">public class Single {private Single(){} <strong>1</strong>.</span><pre name="code" class="java"><span style="white-space:pre"><span style="font-size:18px;"></span></span>
<span style="font-size:18px;"><span style="white-space:pre"></span>private static Single single = <strong>null; 2</strong></span>public static Single getInstance(){3 if(single == null){single = new Single;} 4
<span style="font-size:18px;"> <span style="white-space:pre"></span> return single;</span>}}
开发时用饿汉式;
面试一般问懒汉式;多线程操作,对象不唯一;
饿汉式单例程巩固
<span style="font-size:18px;">public class SuperMan {private String name;private SuperMan(String name) {this.setName(name);}public static SuperMan superMan = new SuperMan("mj");public static SuperMan getInstance() {return superMan;}public String getName() {return name;}public void setName(String name) {this.name = name;}public void show() {System.out.println(name + "flay");}}public class Demo {/** * @param args */public static void main(String[] args) {// TODO Auto-generated method stubSuperMan superMan = SuperMan.getInstance();System.out.println(superMan);superMan.show();superMan.setName("mjj");superMan.show();}}</span>
0 0
- 单例程 饿汉式 懒汉式
- 单例模式 饿汉式 懒汉式
- 【单例模式】饿汉式&懒汉式
- 懒汉式 && 饿汉式 的单例模式
- 单例模式-饿汉式和懒汉式
- 单例设计模式 饿汉式 懒汉式
- 单例设计模式-饿汉式-懒汉式
- 单例模式(懒汉式和饿汉式)
- 单例设计饿汉式懒汉式
- 【单例模式】饿汉式&懒汉式
- 单例模式(饿汉式&懒汉式)
- GCD单例-懒汉式&饿汉式
- singleton单例-饿汉式|懒汉式
- 单例模式 饿汉式与懒汉式
- 饿汉式 懒汉式 单实例设计模式
- 常用单例模式:饿汉式&懒汉式
- 单例设计模式:饿汉式,懒汉式
- 单例模式 懒汉式 饿汉式
- IOS开发之ASIHTTPRequest下载示例
- Pic
- spark straming时实处理
- Linux信号掩码和信号处理函数
- bitmap 二次采样
- 单例程 饿汉式 懒汉式
- txt转换pdf的实用方法分享
- 工作日志-20151012
- 雪花效果实现
- [Android Studio 权威教程]打包、生成jks密钥、签名Apk、多渠道打包
- socket实现ping功能
- MongoDB——第一天 基础入门
- 处理积分加现金支付业务逻辑
- ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]