簡體   English   中英

基於Object.class創建類

[英]creating classes based on Object.class

我想定義一個類列表並在以后實例化它們。 我有這樣的清單

List<Class> classList = new ArrayList<>();
classList.add(ClassA.class);
classList.add(ClassB.class);

我想從此列表中讀取並創建類。 我不知道我必須創建的女巫類,因為我的圖書館的客戶將定義此列表。 我所知道的是,所有這些類都從同一類擴展而來,並具有一個對象作為構造函數參數。
任何想法我應該如何做到這一點?

如果您所討論的所有類的構造函數都接受單個參數,並且該參數的類型相同(假設它是String ),則可以使用以下實例化此類:

Object instance = clazz.getConstructor(String.class).newInstance("string value you pass to the constructor");

另外,如果您所有的類都擴展了Super類,那么最好編寫Class<? extends Super> Class<? extends Super>而不是raw Class 那你可以寫

Super instance = clazz.getConstructor(String.class).newInstance("string value you pass to the constructor");

暫無
暫無

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

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