Мне нужно создать и вернуть общий список объектов статических вложенных классов.Создание списка статических вложенных классов в качестве общего списка
Например:
если есть класс, содержащий внешняя статические вложенные классы как InnerOne/два/три и так далее .. со своими членами и методами.
и
Я пытаюсь создать и получить свой экземпляр через класс Factory.
Как я могу это сделать?
Как я могу объявить и определить свой «общий список», как показано ниже.
, чтобы потом я мог «приказать» объектам списка к их объекту класса, используя оператор «instanceof» и вызывая их соответствующие «перегруженные» функции?
public class Outer{
public static class InnerOne{
//members and methods
};
public static class InnerTwo{
//members and methods
};
public static class InnerThree{
//members and methods
};
}
public class factory{
public static List<?> getInstanceList(List<String> instancetypes){
List<?> genericList = new ArrayList<>();
for(String instanceType : instancetypes){
if(instanceType.equals("InnerOne")){
genericList.add(new InnerOne());
}
else if(instanceType.equals("InnerTwo")){
genericList.add(new InnerTwo());
}else{
genericList.add(new InnerThree());
}
}
return genericList;
}
}
Это пугающе напоминает http://stackoverflow.com/questions/32614453/ use-the-command-line-to-make-new-objects/32614646 # 32614646, но вам нужен общий предок, и вы увидите их только вдоль предка, а не конкретного типа. – EpicPandaForce
Это похоже на [проблема XY] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem), правильное решение которого - [ServiceLoader] (http://docs.oracle. ком/JavaSE/8/документы/API/Java/Util/ServiceLoader.html). – VGR