zoukankan      html  css  js  c++  java
  • java 基础(单例)

    1、如果一个类,始终只能创建一个实例,那么这个类就叫做单例类。

    我们把该类的构造器使用private修饰,从而把该类的所有构造器隐藏起来。

    根据良好的封装原则,一旦把该类的构造器隐藏起来,就需要提供一个public方法作为该类的访问点,用于创建该类的对象,且该方法必须用static修饰(调用该方法的只能是类)。

         还有,该类还必须缓存自己创建的对象,否则该类不会知道是否已经创建了该对象,也就无法保证只创建一个对象,因此需要创建一个属性来保存曾经创建的对象。该属性需要

    被上面的static访问,所以也要用static修饰。

    /*
     * 单例类
     * */
    public class SingleSton {
    
    	// 保存已创建对象的属性
    	private static SingleSton singleSton;
    	// 使用private修饰构造方法
    	private SingleSton(){};
    	// public方法,用于返回唯一的对象
    	public static SingleSton getInstance() {
    		if (singleSton==null) {
    			// 创建一个对象,并将其缓存起来
    			singleSton=new SingleSton();
    		}
    		return singleSton;
    	}
    }
    
    public class SingleStonTest {
    
    	public static void main(String[] args) {
    		SingleSton s1=SingleSton.getInstance();
    		SingleSton s2=SingleSton.getInstance();
    		System.out.println(s1==s2);
    	}
    }
    
  • 相关阅读:
    建立十字链表
    KMP算法
    魔术师发牌问题(循环链表)
    约瑟夫问题(循环链表)
    中缀表达式 转 (逆)波兰表达式
    中缀表达式求值
    迷宫问题(回溯法)
    范数
    AUC
    概率论
  • 原文地址:https://www.cnblogs.com/hoge/p/6340219.html
Copyright © 2011-2022 走看看