zoukankan      html  css  js  c++  java
  • Java中的设计模式之单例模式

    Java中的单例模式

    设计模式是软件开发过程中经验的积累

    一、单例模式

    1、单例模式是一种常用的软件设计模式,通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

    2、单例模式的三个要点(面试常问):

      某个类只能有一个实例,不能new对象

         必须自行创建这个实例

         必须自行向整个系统提供这个实例(创建一个公开方法,返回这个对象)

    代码演示之懒汉式:

    /*
     * 单例模式(懒汉式):
     * 1、保证外部不能new对象
     * 2、类内部自己创建对象
     * 3、创建一个公开方法,返回这个对象
     * 这是简单的写法,在我们学了多线程之后,这个懒汉式写法会有些不同的地方
     */
    public class SingleTon {
        private SingleTon() {        
        }
        private static SingleTon instance;
        public static SingleTon getInstance(){
            if(instance==null){
                instance=new SingleTon();
            }
            return instance;
        }
    
    }
    /*
    *测试类
    */
    public class Test {
        public static void main(String[] args) {
            SingleTon n=SingleTon.getInstance();
            SingleTon n2=SingleTon.getInstance();
            
            System.out.println(n.toString());
            System.out.println(n2.toString());
        }
    
    }

     运行截图:

    代码演示之饿汉式:

    /*
     * 饿汉式
     */
    public class SingleTon {
        private SingleTon() {
        }
        private static final SingleTon instance=new SingleTon();
        public static SingleTon getInstance(){
            return instance;
        }
    }
    /*
     * 测试类
     */
    public class Test {
        public static void main(String[] args) {
            SingleTon n=SingleTon.getInstance();
            SingleTon n2=SingleTon.getInstance();
            
            System.out.println(n.toString());
            System.out.println(n2.toString());
        }
    }

    运行截图:

  • 相关阅读:
    HTML---网页编程(2)
    HTML---网页编程(1)
    HDOJ/HDU 1297 Children’s Queue(推导~大数)
    HDOJ/HDU 1250 Hat's Fibonacci(大数~斐波拉契)
    HDOJ/HDU 1133 Buy the Ticket(数论~卡特兰数~大数~)
    洛谷P1314 [NOIP2011提高组Day2T2] 聪明的质监员
    洛谷P1313 [NOIP2011提高组Day2T1]计算系数
    POJ3696 The Luckiest number
    洛谷P1312 [NOIP2011提高组Day1T3]Mayan游戏
    洛谷P1311 [NOIP2011提高组Day1T2]选择客栈
  • 原文地址:https://www.cnblogs.com/shen-hua/p/5441714.html
Copyright © 2011-2022 走看看