栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

设计模式 --单例模式

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设计模式 --单例模式

package singleton_pattern;

public class SingleTonPattern {
	public static void main(String[] args) {
		SingleTon s1=SingleTon.getInstance();
//		SingleTon s2=SingleTon.getInstance();
		System.out.println(s1);
		SingleTon2 s3=SingleTon2.getInstance();
		System.out.println(s3);
		SingleTon3 s4=SingleTon3.getInstance();
		System.out.println(s4);
		SingleTon4 s5=SingleTon4.getInstance();
		System.out.println(s5);
	}
}

class SingleTon{
	//单例的必要操作--构造方法私有化
	private SingleTon() {}
	//创建静态私有成员变量new一个实例对象
	private static SingleTon st=new SingleTon();
	//公有方法返回
	public static SingleTon getInstance() {
		return st;
	}
}

class SingleTon2{
	//同样的配方,私有构造
	private SingleTon2(){}
	//创建静态私有成员变量赋null
	private static SingleTon2 st=null;
	public static SingleTon2 getInstance() {
		if(st==null)
			st=new SingleTon2();
		return st;
	}
}

class SingleTon3{
	//同样的配方,私有构造
	private SingleTon3(){}
	//创建静态私有成员变量赋null
	private static SingleTon3 st=null;
	public static SingleTon3 getInstance() {
		if(st==null) {
			synchronized (SingleTon3.class) {
				if(st==null)//双重判断,很nice
					st=new SingleTon3();
			}
		}
		return st;
	}
}

class SingleTon4{
	//同样的配方,私有构造
	private SingleTon4(){}
	//静态内部类
	private static class Instance{
		 private static SingleTon4 st=new SingleTon4();
	}
	public static SingleTon4 getInstance() {
		return Instance.st;
	}
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/585160.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号