单例模式学习很简单

单例模式寓意只有你 only you!

只能有一个实例,只创建一个对象
创建步骤:
①私有化构造器
②定义一个类方法,提供一个供外界访问,获取单例对象
③在类中提供一个Singleton类型的类属性
④实现某个方法名的类方法
注:static修饰方法为类方法,修饰在属性上为类属性。
在编译运行class文件的时候,static修饰的属性或方法会比对象属性和对象方法更先被创建,生成在数据共享区。

Class Singleton{
	//创建类属性  作判断
	private static Singleton s;
	//私有化构造器
	private Singleton(){
	}
	//创建类方法 用于创建单例对象
	public static Singleton getSingleton(){
		//如果static修饰的类属性值为null,就创建一个对象
		if(s==null){
			//初次调用会给  s  赋值
			s=new Singleton();
		}
		//如果不为null,直接返回对象引用
		return s;
	}
}
public class TestSingleton(){
	public void main(String[] args){
		//调用类方法,创建对象
		Singleton s=Singleton.getSingleton();
		System.out.println(s);
	}
}

单例模式又分为懒汉模式和饿汉模式
区别:

//饿汉模式  直接创建单例对象:
private  static Singleton s=new Singleton();
public static Singleton getSingleton(){
	return s;
}

懒汉模式:类加载的时候不被初始化,只在需要的时候创建对象;
饿汉模式:在类加载时就完成了初始化,直接创建对象,不管用或不用,都会创建,浪费资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值