博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式--单例设计模式
阅读量:6214 次
发布时间:2019-06-21

本文共 1074 字,大约阅读时间需要 3 分钟。

package com.own.Single;/** * 单例模式:解决一个类在内存中只存在一个对象。 *  * 建议使用饿汉式 *  * 要保证对象唯一。 * 1、为了避免其它程序过多建立该类对象。先禁止其它程序建立该类对象。 * 2、还为了让其它程序访问到该类对象,只好在本类中,自定义一个对象。 * 3、为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。 *  * 这三步怎么用代买体现呢? * 1、将构造函数私有化。 * 2、在类中创建一个本类对象。 * 3、提供一个方法获取到该对象。 * *//*饿汉式--类一创建就创建对象(安全)*/class Single {	private int num;	public int getNum() {		return num;	}	public void setNum(int num) {		this.num = num;	}	//构造函数私有化,为了不让其它程序创建该类对象	private Single(){};	//静态方法只能调用静态变量	private static Single s = new Single();	//类名调用,方法要求静态	public static Single getSingle(){ 		return s;	}}/*懒汉式--延时加载*/class Single2{	private static Single2 s = null;	private Single2(){}	public static Single2 getSingle2(){		if(s==null){			synchronized(Single.class){				if(s==null)					s = new Single2();			}		}		return s;	}}public class SingleDemo {	public static void main(String[] args) {		// TODO Auto-generated method stub		Single s1 = Single.getSingle();		Single s2 = Single.getSingle();		s1.setNum(30);		System.out.println(s2.getNum());//打印30		//s1、s2指向同一对象	}}

  

转载于:https://www.cnblogs.com/limpoo/p/3313460.html

你可能感兴趣的文章
514:Rails
查看>>
UICollectionViewController
查看>>
CSS布局模型(流动模型、浮动模型、层模型)
查看>>
SQL Server 查询语句(一)
查看>>
新姿势 - 海贼王之伟大航路
查看>>
19个心得 明明白白说Linux下的负载均衡
查看>>
Java Collection 简介
查看>>
字符串公式计算 "(a+b)*c"
查看>>
css-样式重构-代码分享
查看>>
STL中set底层实现方式
查看>>
Git
查看>>
Effective_STL 学习笔记(五) 尽量使用区间成员函数代替他们的单元素兄弟
查看>>
尚学linux课程---12、vim操作命令2
查看>>
javascript进阶课程--第一章--函数
查看>>
使用 JS 关闭警告框及监听自定义事件(amaze ui)
查看>>
P1070 道路游戏
查看>>
维特比算法(Viterbi)
查看>>
linux环境下搭建ActiveMQ集群
查看>>
字符编码
查看>>
Vuejs1.0学习
查看>>