饿汉
package ithema_day2; /* 目标 单例模式(饿汉模式) 类中只允许创建一个对象 饿汉模式:像一个饿汉一样,不管需不需要用到实例都要去创建实例,即在类产生的时候就创建好实例,这是一种空间换时间的做法。 作为一个饿汉而言,体现了它的本质——“我全都要”。 */ public class singlen { //创建一个对象 private static singlen sig = new singlen(); //构造器私有化 private singlen(){ } //返回该对象 public static singlen getInstance(){ return sig; } }
懒汉
package ithema_day2; /* 目标 单例模式(懒汉模式) 类中只允许创建一个对象 懒汉模式:在需要使用时才创建对象 且只创建一个 */ public class singlen2 { //创建空指向对象 private static singlen2 sig; //封装构造器 private singlen2(){ } //创建单个对象 并返回 public static singlen2 getsig(){ if(sig == null){ sig = new singlen2(); } return sig; } }
测试
package ithema_day2; /* 懒汉和饿汉的使用 */ public class Demo { public static void main(String[] args) { //指向饿汉对象 singlen s =singlen.getInstance(); //指向懒汉对象 singlen2 s2 = singlen2.getsig(); } }