关于java写一个单例类(面试手写题)

Posted shundong106

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于java写一个单例类(面试手写题)相关的知识,希望对你有一定的参考价值。

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);
		}
	}

  最近面试发现是该好好整理一下了 想到了有一次面试叫我手写一个 单例模式 就又写了一遍

以上是关于关于java写一个单例类(面试手写题)的主要内容,如果未能解决你的问题,请参考以下文章