Java面向对象_单例设计模式
单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点
1.构造方法私有化
2.声明一个本类对象
3.给外部提供一个静态方法获取对象实例
两种实现方式:饿汉式和懒汉式
何种情况下使用呢?当一个类中没有属性(对象的状态);该类作为工具类使用非常频繁;
好处:节省内存(因为不断创建对象会消耗内存)
1 public class Practice14 { 2 3 public static void main(String[] args) { 4 // TODO Auto-generated method stub 5 Single s=Single.getInstance(); 6 s.method(); 7 } 8 } 9 //饿汉式 10 class Single{ 11 private static Single single=new Single(); 12 private Single(){ //构造方法私有化,为了防止在本类外部实例化对象 13 14 } 15 public static Single getInstance(){ 16 return single; 17 } 18 public void method(){ 19 System.out.println("method"); 20 } 21 } 22 //懒汉式 23 class Single2{ 24 private static Single2 single=null; 25 private Single2(){ //构造方法私有化 26 27 } 28 public static Single2 getInstance(){ 29 if(single==null){ 30 single=new Single2(); 31 } 32 return single; 33 } 34 public void method(){ 35 System.out.println("method"); 36 } 37 }