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;
        }
    }
  • 相关阅读:
    ACE 的一些词汇
    odbc连接不上,初步猜想是myodbc安装有问题
    1分钟 当数据库管理员
    硬件申请
    编译删除
    ASP.NET之数据绑定
    发布、订阅、复制、同步SQL Server 2000 数据库
    SQL——添加约束的语句
    SQL——规则
    十大著名黑客—— 凯文米特尼克
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/6516977.html
Copyright © 2011-2022 走看看