思路
1.保证外面不可以随便创建对象---将构造方法私有。
2.在当前类中写一个当前类类型的属性(应式静态方法,因为要保证这个属性的对象是唯一的)。
3.提供一个方法供其他类引用。
实现:
1.私有构造方法
2.私有的、静态的当前类对象作为属性。
2.公有的静态方法返回当前对象。
单例模式分为三种:饿汉式(即时加载)、懒汉式(延迟加载)和生命周期托管(对象加载过程交给别人,略过。。。)
代码实现:
1.饿汉式(即时加载)
//单例设计模式 饿汉式
//1、私有构造方法
private SingleTon(){}
//2、私有 静态 属性
private static SingleTon singleTon = new SingleTon();
//3、公有 静态 方法 返回当前类
public static SingleTon getSingleTon(){
return singleTon;
}
2.懒汉式(延迟加载)
//单例设计模式 懒汉式(延迟加载)
//1、私有构造函数
private SingleTon2(){}
//2、私有 静态 当想类属性 无需new出来
private static SingleTon2 singleTon2;
//3、给出一个公有 静态 返回当前类的方法
public static SingleTon2 getSingleTon2(){
//判断这个对象是否已经被创建
if (singleTon2 == null){
//未创建则创建对象
singleTon2 = new SingleTon2();
}
return singleTon2;
}
网友评论