package com.shundong.javacore; /** * java写一个简单的单例类 * @author shundong * */ class Singleton { //使用一个类变量来缓存曾经创建的实例 private static Singleton instance; //对构造进行隐藏(private) private Singleton(){} /** * 提供一个静态方法 * 该方法加入了自定义控制 保证只产生一个Singleton对象 * @return 返回Singleton 实例 */ public static Singleton getInstance() { /** * 如果instance为null,表示还不曾创建Singleton对象 * 如果instance不为null,表示已经创建Singleton对象 */ if(instance==null) { //创建Singleton对象 并将其缓存 instance = new Singleton(); } return instance; } } //for test public class SingletonTest { public static void main(String[] args) { //创建实例不能通过构造!!! //必须通过getInstance !!!单例 o了 Singleton aSingleton1 = Singleton.getInstance(); Singleton aSingleton2 = Singleton.getInstance(); System.out.println(aSingleton1==aSingleton2); } }
最近面试发现是该好好整理一下了 想到了有一次面试叫我手写一个 单例模式 就又写了一遍
原文地址:https://www.cnblogs.com/shundong106/p/9899039.html
时间: 2025-01-01 14:01:24