初级单例模式

单例模式
  1. 单例模式分为两类:
1.1恶汉模式
1.2懒汉模式
2.步骤思路:
  1. 私有化构造器
  2. 造一个目标对象
  3. 暴露提供该对象的方法(注:因为不能new对象来调,因此就需要用类.方法名来暴露,因此此方法应该定义成一个static方法。又如果此类中还有其他的静态变量,如果外部只想调此静态变量,在加载类时就创建了对象,又是不需要的,消耗内存资源。因此出现懒汉模式)
恶汉模式
public class sigle1 {
//1.私有化构造器
private sigle1(){
}
//2.创建对象
private static sigle1 sig=new sigle1();
//3.公开提供对象方法的对象
public static sigle1 getSigle1(){
return sig;
}

}
懒汉模式
class sigle2{
//1.私有化构造器
private sigle2(){
}
//2.创建对象
private static sigle2 sig2=new sigle2();
//3.公开提供提供对象的方法
public static sigle2 getSigle2(){//为什么要加static,因为外部已不能通过对象来调此方法,因此只能通过类来调
return sig2;
}
}
注:恶汉式耗费内存,但线程安全;懒汉式性能好些,但有线程安全问题。

猜你喜欢

转载自blog.csdn.net/shuimofengyang/article/details/79671435