单例类

作者: 许宏川 | 来源:发表于2015-07-23 23:37 被阅读116次

    单例类并不是语法,只是一种写法。
    有时候我们并不希望一个类可以被实例化多个对象,只希望全局只被实例化出对象。想要达成这个目的的思路是:

    • 声明一个类型为其自身的私有的类成员
    • 把构造方法私有化
    • 提供一个公有化的方法访问该静态成员,如果为null调用构造方法进行实例化

    示例代码:

    public class Singleton {
    
        private static Singleton mInstance; //类型为其自身的私有的类成员
    
        //构造方法私有化,不允许到处实例化
        private Singleton() {
        }
    
        // 提供一个公有化的方法访问该静态成员
        public static Singleton getInstance() {
            if (mInstance == null) {
                mInstance = new Singleton();
            }
            return mInstance;
        }
    
        public void showSingleton() {
            System.out.println("我是单例类Singleton");
        }
    
    }
    
    public class Test {
    
        public static void main(String[] args) {
            Singleton.getInstance().showSingleton(); //获取唯一的实例对象
        }
    }
    

    运行结果:

    <pre>
    我是单例类Singleton
    </pre>

    本文代码下载:百度网盘

    相关文章

      网友评论

          本文标题:单例类

          本文链接:https://www.haomeiwen.com/subject/yrgpqttx.html