单例模式的Java泛型实现方式

来源:互联网 发布:芒果tv php视频解析 编辑:程序博客网 时间:2024/06/06 15:36

声明方法

声明泛型父类

import java.util.HashMap;import java.util.Map;/** * Created by zhao.wu on 2016/11/18. */public class SingleTonParent{    private static Map<Class<? extends SingleTonParent>, SingleTonParent> INSTANCES_MAP = new HashMap<>();    public synchronized static <E extends SingleTonParent> SingleTonParent getInstance(Class<E> instanceClass) throws Exception {        if(INSTANCES_MAP.containsKey(instanceClass)){            return INSTANCES_MAP.get(instanceClass);        } else {            E instance = instanceClass.newInstance();            INSTANCES_MAP.put(instanceClass, instance);            return instance;        }    }    protected SingleTonParent(){    }}

继承泛型父类

public class Test extends SingleTonParent{}

调用方法

Test test = (Test)SingleTonParent.getInstance(Test.class);
0 0
原创粉丝点击