Я хочу написать конструктор, который не принимает никаких аргументов, поэтому как бы я это сделал, если у меня нет переменных экземпляра, я использую для создания конструктора, где у меня есть переменные экземпляра, я знаю, что java создает конструктор по умолчанию, если я не есть один, но мне сказали, что это плохая практика программирования ??? (новая классы)Как написать конструктор для моего класса, если нет переменных экземпляра?
public class Validator {
public Validator() {
}
public String getString(Scanner sc, String prompt) {
System.out.print(prompt);
String s = sc.next(); // read user entry
sc.nextLine(); // discard any other data entered on the line
return s;
}
public int getInt(Scanner sc, String prompt) {
int i = 0;
boolean isValid = false;
while (isValid == false) {
System.out.print(prompt);
if (sc.hasNextInt()) {
i = sc.nextInt();
isValid = true;
} else {
System.out.println("Error! Invalid integer value. Try again.");
}
sc.nextLine(); // discard any other data entered on the line
}
return i;
}
public int getInt(Scanner sc, String prompt, int min, int max) {
int i = 0;
boolean isValid = false;
while (isValid == false) {
i = getInt(sc, prompt);
if (i <= min)
System.out.println("Error! Number must be greater than " + min
+ ".");
else if (i >= max)
System.out.println("Error! Number must be less than " + max
+ ".");
else
isValid = true;
}
return i;
}
public double getDouble(Scanner sc, String prompt) {
double d = 0;
boolean isValid = false;
while (isValid == false) {
System.out.print(prompt);
if (sc.hasNextDouble()) {
d = sc.nextDouble();
isValid = true;
} else {
System.out.println("Error! Invalid decimal value. Try again.");
}
sc.nextLine(); // discard any other data entered on the line
}
return d;
}
public double getDouble(Scanner sc, String prompt, double min, double max) {
double d = 0;
boolean isValid = false;
while (isValid == false) {
d = getDouble(sc, prompt);
if (d <= min)
System.out.println("Error! Number must be greater than " + min
+ ".");
else if (d >= max)
System.out.println("Error! Number must be less than " + max
+ ".");
else
isValid = true;
}
return d;
}
}
Как весь код после конструктора относится к вашему вопросу? – Dan
Если вам нечего делать в вашем конструкторе, вам не нужно объявлять его. –
Кто-то, кого я знаю, недавно изучал программирование. В его учебном материале говорилось: «Всегда создавайте геттеры и сеттеры», но он никогда не останавливался, чтобы спросить, зачем он им нужен. Теперь он разоблачает частные переменные и скрывает публику. Когда вы проектируете объекты, постарайтесь использовать «Объектно-ориентированную философию» больше, чем общие правила конкретных частей. Должна ли собака знать, что звук делает кошка? Может быть, так, но нужно ли знать внутреннее состояние голода кошки? Возможно нет. Конструкторы будут следовать аналогичным точкам –