黑马程序员-------Java基础之单例设计模式

时间:2021-02-23 00:44:47
-------  android培训 java培训 、期待与您交流! ----------
 一、饿汉式
        饿汉式即为先初始化对象。

饿汉式单例模式java代码如下:
class Single {
 //这是三个成员变量
 private String name;
 private int age;
 private static Single s=new Single();
 
 //这是一个不带参数的构造函数
 private Single() {
 }
 //这是一个带两个参数的构造函数
 private Single(String name, int age) {
  this.name = name;
  this.age = age;
 }
 //获得刚才生成的对象s的实例
 public static Single getInstance(){
  
  return s;
 }
 
}
二、懒汉式
对象是在方法被调用的时候才初始化的,也叫做对象的延时加载,称为:懒汉式。
记录一个原则:定义单例模式时,建议使用饿汉式。

懒汉式单例模式java代码如下:
class SingelDemo2{
 
 private String name;
 private int age;
 private static  SingelDemo2 s=null;
 
 private SingelDemo2(){}
 
 public static SingelDemo2 getInstance() {
  if (s==null){
   synchronized(SingelDemo2.class){
    if(s==null)
    s=new SingelDemo2();
   }
  }
  
  return s;
 }
 
}