Давайте представим, что у меня есть два класса Person1 и Person2, которые реализуют интерфейс History. Я хочу иметь статический метод внутри интерфейса History, который возвращает Person1 или Person2 в зависимости от строки, подобной этой:
public static Object getPerson(String p){
switch(p){
case "a":
return new Person1();
default:
return new Person2();
}
}
У меня нет ошибок здесь. Но как использовать его в другом классе, чтобы получить методы от Person1 или Person2? Я пытался сделать это:
Object env = IEnvironment.getPerson(clientEnv);
Но я не могу написать env.myMethod (), например.
Является ли интерфейс правильным решением? Как этого добиться? Спасибо!