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

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

    这个只不过是自己的流水账,偶尔有一些心得,错误的地方概不负责
  • 相关阅读:
    资源汇总
    最近面试经历
    Screen Space Ambient Occlusion
    实时渲染下的多线程协作:实践
    High Dynamic Range
    Deferred Shading
    实时渲染下的多线程协作
    9.了解四个相等判断的用法
    14.使用构造函数链
    16.垃圾最小化
  • 原文地址:https://www.cnblogs.com/ashitaka/p/6048380.html
Copyright © 2011-2022 走看看