簡體   English   中英

getClass()作為Hashmap參數

[英]getClass() as Hashmap parameter

我的問題是,我想做這樣的事情:

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

可以在不將“ .get(index)”強制轉換為ClassB的情況下工作。

有沒有辦法做到這一點?

首先,您應該閱讀有關Java抽象類的文章,以了解您可以做什么和不能做什么。

第二,您應該研究Java多態性

我很確定之后,您將能夠回答自己的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM