⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 regsingleton.java

📁 23种设计模式参考源代码及文档说明
💻 JAVA
字号:
/*
 * 项目名称 Pattern
 * 包名称   com.niufish.pattern.singleton
 * 
 * 文件名称 RegSingleton.java
 * 
 */
package com.niufish.pattern.singleton;

import java.util.HashMap;

/**
 * 可继承单例,但是子类不能够使线程安全
 * <p>
 * <a href="RegSingleton.java.html"><i>View Source</i></a>
 * </p>
 * @author  Kingfish
 * @version 1.0
 */
public class RegSingleton {
    
    /**
     * 所有实例化了的类
     */
    static private HashMap _registry = new HashMap();
    
    /**
     * 保护的构造子
     */
    protected RegSingleton(){ 
        System.out.println("RegSingleton initialized");
    }
    
    /**
     * 静态工厂方法,返回此类的唯一实例
     * @param name 要的那个类名字
     * @return 要的那个类
     */
    static public RegSingleton getInstance(String name){
        if (name==null){
            return new RegSingleton();
        }
        if (_registry.get(name)==null){
            try{
                _registry.put(name,Class.forName(name).newInstance());
            }catch(Exception e){
                e.printStackTrace();
            }
        }
        return (RegSingleton)_registry.get(name);
    }
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -