public class ImageReaderFactory { private static ImageReader image; public static ImageReader getImageReader(ImageTypes type) { if (type == ImageTypes.JPG) { return new JpgReader(); } if (type == ImageTypes.BMP) { return new BmpReader(); } if (type == ImageTypes.PNG) { return new PngReader(); } throw new IllegalArgumentException("Неизвестный тип картинки"); } } Не могу понять, почему нельзя просто создать метод getImageReader(ImageTypes type). Почему нужно создавать private static ImageReader image и указывать ImageReader?