Начал читать "Эффективная Java" и не могу понять, почему у меня не работает, когда я пытаюсь написать пример..
Ошибка компиляции:
Ошибка: (12, 16) java: конструктор Car в классе Car не может быть применен к заданным типам;
public class Car {
String model;
//no private constructor
public static Car fromModel(String model) {
return new Car(model);
}
}
Здесь все в порядке:
public class Car {
String model;
//no private constructor
public static Car fromModel(String model) {
return new Car(model);
}
}
//Here everything is OK:
public class Car {
String model;
private Car(String model) {
this.model = model;
}
public static Car fromModel(String model) {
return new Car(model);
}
}
Почему я должен генерировать конструктор, если «Учитывайте статические фабричные методы вместо конструкторов» ???