• java—单例设计模式


    单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

    1、构造方法私有化

    2、声明一个本类对象

    3、给外部提供一个静态方法获取对象实例

    什么时候使用?

    1、通过在工具类的设计中使用;

    2、当一个类中没有属性;

    3、该类作为工具类使用非常频繁。

    两种方式:

    一、饿汉式

     1 package practice1;
     2 //单例模式
     3 public class Test7 {
     4     public static void main(String[] args) {
     5         Singleton s=Singleton.getInstance();
     6         s.method();
     7     }
     8 }
     9 class Singleton{
    10     private static Singleton singleton=new Singleton();//定义时就创建对象
    11     private Singleton(){//构造方法私有化    
    12     }
    13     public static Singleton getInstance(){//给外部提供一个全局访问点,静态方法
    14         return singleton;
    15     }
    16     public void method(){//测试方法
    17         System.out.println("method");
    18     }
    19 }

    饿汉式在类创建的同时就已经创建好一个静态的对象供系统使用,以后不再改变,所以是线程安全的。

     

    二、懒汉式

    class Singleton2{
        private static Singleton2 singleton2=null;//定义时不直接创建
        private Singleton2(){}//构造方法私有化
        public static Singleton2 getInstance(){
            if(singleton2==null){
                singleton2=new Singleton2();
            }
            return singleton2;
        }
        public void method(){//测试方法
            System.out.println("method");
        }
    }

     

  • 相关阅读:
    在windows下安装mongodb(1)
    kettle过滤记录运用
    Robberies(简单的01背包 HDU2955)
    Alice and Bob(贪心HDU 4268)
    A Simple Problem with Integers(树状数组HDU4267)
    A Round Peg in a Ground Hole(凸包应用POJ 1584)
    Fishnet(暴力POJ 1408)
    Wall(凸包POJ 1113)
    Pipe(点积叉积的应用POJ1039)
    I love sneakers!(分组背包HDU3033)
  • 原文地址:https://www.cnblogs.com/chenxing818/p/4678332.html
Copyright © 2020-2023  润新知