zoukankan      html  css  js  c++  java
  • java===单类设计模式之饿汉式与懒汉式

    package cn.china;
    
    
    
    public class Single {
        public static void main(String[]args){
    //        S singles=S.getInstance();
    //        S singless=S.getInstance();
    //        System.out.println(singles==singless);
            Test tt=Test.getInstance();
            Test ttt=Test.getInstance();
            tt.setNum(10);
            ttt.setNum(20);
            System.out.println(tt.getNum());
            System.out.println(ttt.getNum());
        }
    /**
     * 单类设计模式:
     * 解决的问题,就是可以保证一个类在内存中的对象唯一性
     *如何确保对象唯一性呢?
     *1、不允许其他程序用new创建该类对象。
     *2、在该类中创建一个本类实例。
     *3、对外提供一个方法让其他程序可以获取该对象
     *步骤:
     *1、私有化该类构造函数
     *2、通过new在本类中创建一个本类对象
     *3、定义一个共有方法,将创建的对象返回。 */
        
    }
    //饿汉式
    class S{
        private static S single=new S();
        private S(){}
        public static S getInstance(){
            return single;
        }
    }
    class Test{
        private int num;
        private static Test t=new Test();
        private Test(){}
        public static Test getInstance(){
            return t;
        }
        public void setNum(int num){
            this.num=num;
        }
        public int getNum(){
            return this.num;
        }
    }
    //懒汉式
    class single2{//类加载进来没有对象,只有调用了getInstance方法时,才会创建对象。
        private static single2 s=null;
        private single2(){}
        public static single2 getInstance(){
            if(s==null)
                s=new single2();
            return s;
        }
    }
  • 相关阅读:
    计算后的样式
    getElementsByTagName
    notepad++ 行首行尾添加字符
    Http协议基础知识
    HTTP工作流程
    URI URL URN的区别
    [转] Android利用Fiddler进行网络数据抓包
    微信公众号 跳转到小程序
    现金红包 接口开发注意事项
    现金红包 样式问题
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6516977.html
Copyright © 2011-2022 走看看