getClass()作为Hashmap参数

时间:2017-03-15 14:56:19

标签: java parameters hashmap key

我的问题是,我想做这样的事情:

public abstract class ClassA{
    HashMap<Byte, Class<? extends ClassA> > hashMapWhichKeyIsEqualToTypeOfExtensionClass;

    public ClassA(){
        hashMapWhichKeyIsEqualToTypeOfExtensionClass = new HashMap<Byte, getClass()>();
    }
}

换句话说,我希望HashMap的键类型与包含它的类完全一致,以便

public class ClassB extends ClassA{
    public ClassB iAmHereJustToShowWhatDoIwantToGet(Byte index){
        return hashMapWhichKeyIsEqualToTypeOfExtensionClass.get(index);
    }
}

可以在没有投射的情况下工作&#34; .get(index)&#34;到ClassB。

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:0)

那么,首先你应该阅读Java abstract classes来了解你能做什么,不能做什么。

第二,你应该看看Java Polymorphism

我很确定在你之后你能够回答你自己的问题。