zoukankan      html  css  js  c++  java
  • 单例模式

      将构造函数定义为私有化,对象实例定义为static,这样类的外部应用都是指向一个实例

    public class SimpleClass {
        private static SimpleClass simpleClass;//定义一个static实例并且设置为private
        private int tick;
        private SimpleClass(int tick){//将构造函数设置为不可见
            this.tick = tick;
        }
        public static SimpleClass getInstance(int tick){//设置外部获取类实例的接口
            if(simpleClass == null){
                simpleClass = new SimpleClass(tick);
            }
            return simpleClass;
        }
        
        public void Method(){
            System.out.println("do something:"+tick);
        }
    }

    测试:

    public class Test {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            SimpleClass simpleClass = SimpleClass.getInstance(100);
            simpleClass.Method();
            SimpleClass simpleClass2 = SimpleClass.getInstance(10);
            simpleClass2.Method();
            
        }
    }

    执行的结果是:
    do something:100
    do something:100

    因为第一个引用于第二个引用都指向了类内部定义的同一个对象。所以输出的结果是一样的。

    这个只不过是自己的流水账,偶尔有一些心得,错误的地方概不负责
  • 相关阅读:
    自定义Toast
    kafka概念扫盲
    ZooKeeper面试题
    写给程序员儿子的一封信
    hashCode() 和 equals()的问题解答及重写示范
    git下载安装、配置及idea初始化
    配置 git公钥报错:unknown key type -rsa
    Java中的各种锁
    Kafka 基本原理
    MySQL 索引总结
  • 原文地址:https://www.cnblogs.com/ashitaka/p/6048380.html
Copyright © 2011-2022 走看看