单例模式:单对象模式 这个类只能创建一次对象或者一次实例 只会开辟一块空间 来存放当前的对象
如何保证当前的类是单例模式的类
实现步骤:
- 1.设置当前类的构造方法为私有的 保证当前类之外的地方 就不能创建对象
- 2.在当前类需要提供一个得到当前类对象的方法
package com.hxp.www.domin;
import java.util.Properties;
public class SingleTest {
/**
* 23中设计模式,模式就是解决问题的步骤
* 单例设计模式
* 模板设计模式
* 工厂设计模式
* 装饰者模式
* 观察者模式
* @param args
*/
//单例设计模式
//使用单例设计模式 创建的对象永远都是一个对象
public static void main(String[] args) {
// Single s1 = Single.getSingle();
// Single s2 = Single.getSingle();
//
// System.out.println(s1==s2);//结果为true, 很明显s1 s2 是一个对象
//
//
// Single2 g1 = Single2.getSingle();
// Single2 g2 = Single2.getSingle();
//
// System.out.println(g1==g2);//结果为true, 很明显g1 g2 是一个对象
}
}
//1.饿汉设计模式
class Single{
//在本类中维护一个引用变量,并用该变量指向本类对象
private static Single s = new Single();
//私有构造方法,防止对象被new来new去
private Single(){
}
//提供一个静态的公共方法,获取本类对象
public static Single getSingle(){
return s;
}
}
//懒汉模式
class Single2{
//声明本类引用类型变量,但是不创建对象
private static Single2 s ;
//私有构造方法,防止对象被new来new去
private Single2(){
}
//提供一个静态的公共方法,获取本类对象
//获得之前先判断。如果没有对象先创建对象在返回 ,如果有对象直接返回对象
public static Single2 getSingle(){
if(s==null){
s = new Single2();
}
return s;
}
}