Здравствуйте, чтобы объяснить, что я пытаюсь сделать все возможное, я покажу вам
открытый класс Main {
public enum Types{
ONE(One.class),TWO(Two.class),THREE(Three.class);
Class<?> type;
private Types(Class<?> type) {
this.type = type;
}
}
public class Manager {
ArrayList<Number> numbers = new ArrayList<>();
public void Load() {
//THIS IS WHERE I AM STUCK
//I know it can be done like this below to add them in to the array with the types
numbers.add((One) new Number());
numbers.add((Two) new Number());
numbers.add((One) new Number());
numbers.add((Three) new Number());
//But i want to be able to add them like this.
numbers.add(Types.ONE.type.newInstance());
}
public void Run() {
if (numbers.isEmpty()) {
Load();
}
for (Number n : numbers) {
n.call();
}
}
}
public class Number {
public void call() {
}
}
public class One extends Number {
@Override
public void call() {
}
}
public class Two extends Number {
@Override
public void call() {
}
}
public class Three extends Number {
@Override
public void call() {
}
}
}
Если вы ищете комментарии вкод, который я пытаюсь добавить «Число» в массив, но с подклассом.
Теперь это пример в приложении, я хочу, чтобы объекты имели параметры в конструкторах.Может ли кто-нибудь указать мне правильное направление.
Причина, по которой я просто не добавляю их с помощью .add, заключается в том, что в реальном приложении есть сотни возражений против добавления в список массивов, и когда ясохраните эти объекты с помощью перечисления, чтобы показать, какого они типа.Также эти объекты регулярно меняются.