zoukankan      html  css  js  c++  java
  • [javaSE] 单例设计模式

    四人帮设计了23中设计模式

    单例设计模式:解决一个类在内存中只存在一个对象

    构造函数私有化

    在类中创建一个本类对象

    提供一个方法可以获取该对象

    class Single{
        private static Single single;
        public int num=1;
        private Single(){
        }
        public static Single getInstance(){
            if(single==null){
                single=new Single();
                System.out.println("对象只有一个");
            }
            return single;
        }
    }
    public class SingleDemo {
        /**
         * @param args
         */
        public static void main(String[] args) {
            Single s1=Single.getInstance();
            s1.num=2;
            Single s2=Single.getInstance();//只输出一次 "对象只有一个"
            System.out.println(s2.num);//此时输出2 说明是同一个对象
            
        }
    
    }

    PHP版:

    <?php
    class Single{
        private static $single;
        public $num=1;
        private function __construct(){
    
        }
        public static function getInstance(){
            if(Single::$single==null){
                Single::$single=new Single();
                echo "对象只有一个";
            }
            return Single::$single;
        }
        /*覆盖PHP的魔术方法*/
        private function __clone(){
    
        }
    
    }
    class SingleDemo{
        public static function main(){
            $obj1=Single::getInstance();
            $obj1->num=2;
            $obj2=Single::getInstance();//只输出一次 "对象只有一个"
            echo $obj2->num;// 此时输出2 说明是同一个对象
        }
    }
    
    SingleDemo::main();
  • 相关阅读:
    什么是Redis?
    请写出常用的linux指令
    Maven常用命令有哪些?
    Maven的工程类型有哪些?
    Maven仓库是什么
    什么是Maven?
    Shiro 的优点
    比较 SpringSecurity 和 Shiro
    判断x二进制编码中1的个数的奇偶性
    寻找600851475143的最大素因子的快速算法
  • 原文地址:https://www.cnblogs.com/taoshihan/p/5508098.html
Copyright © 2011-2022 走看看