У меня есть следующий класс:
public class MotherFactory {
private String food = "banana";
private static FoodFactory<Banana> foodFactory = new BananaFactory();
public MotherFactory() {
}
}
В этом классе я объявляю FoodFactory для BananaHsm, в котором я жестко запрограммирован (строка еды пока не используется).Однако я хочу, чтобы объявление FoodFactory изменялось в соответствии с пищевой строкой.Например: для private String food = "apple"
, <BananaFactory>
изменяется на <AppleFactory>
, а new BananaFactory()
на new AppleFactory
и так далее.я уже думал об использовании переключателя или if / else, однако они будут объявлены внутри конструктора, что не делает переменные пригодными для использования для всего экземпляра.Есть ли способы сделать это?