@Koshkin_I

Как проинициализировать по умолчанию переменную?

Прошу пардона за глупый вопрос, но сходу не получается найти ответ на конкретный вопрос.
У меня переменные загружаются из файла но если файла нет должны определиться по умолчанию. В классе 15 полей. Я их хотел инициализировать в классе и как-то выдавать если нет файла
class A{
  int a = 5;
public A(){
}
}

Такое возможно? Если да то что написать в конструкторе? Или тОлько так
A a1 = new A(5); если по умолчанию делать.
ЗЫ Просто не красиво получится. Там 15 точек, посчитанных через разрешение монитора. Как-то громоздко будет.
  • Вопрос задан
  • 89 просмотров
Решения вопроса 2
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Определить два конструктора - один с параметрами, а второй без, устанавливающий значения по умолчанию. При наличии файла читать из него параметры и вызывать конструктор с параметрами. При отсутствии файла вызывать конструктор по умолчанию. Если параметров много, то можно вместо множества полей использовать коллекцию или подключить шаблон "строитель", вам виднее, что будет правильнее в вашем случае.
Ответ написан
Комментировать
xez
@xez Куратор тега Java
TL Junior Roo
class Scratch {

    public static void main(String[] args) {
        var a1 = new A();
        var a2 = new A(10);


        System.out.println(a1); // A{a=5}
        System.out.println(a2); // A{a=10}
    }
}

class A{
    int a = 5; // default

    public A(int a) {
        this.a = a;
    }

    public A() {
    }

    @Override
    public String toString() {
        return "A{" +
                "a=" + a +
                '}';
    }
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы