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

Как я могу инициализировать переменные класса по умолчанию, если данные загружаются из файла, а файл отсутствует? У меня есть 15 переменных, и я хочу обеспечить им значения по умолчанию, если файл не найден. Можно ли это сделать в конструкторе, или существует другой способ, который был бы менее громоздким?
  • 29 декабря 2023 г. 12:57
Ответы на вопрос 2
Есть несколько способов установить значения по умолчанию для переменных класса, если файл отсутствует:

1. В конструкторе: вы можете инициализировать все переменные класса со значениями по умолчанию в конструкторе. Если файл отсутствует или не удалось загрузить данные из него, значения переменных будут оставаться значениями по умолчанию.

```java
public class MyClass {
    private int var1;
    private String var2;
    // Остальные переменные класса

    public MyClass() {
        var1 = 0; // Значение по умолчанию для int
        var2 = ""; // Значение по умолчанию для String
        // Инициализируйте остальные переменные со значениями по умолчанию
    }
}
```

2. Используя инициализаторы полей: вы можете установить значения переменных класса при объявлении с использованием инициализаторов полей. Если файл отсутствует или не удалось загрузить данные из него, значения переменных останутся значениями по умолчанию.

```java
public class MyClass {
    private int var1 = 0; // Значение по умолчанию для int
    private String var2 = ""; // Значение по умолчанию для String
    // Остальные переменные класса
}
```

3. Используя условные операторы и логику в вашем коде: вы можете проверить наличие файла и установить значения по умолчанию на основе этой проверки.

```java
public class MyClass {
    private int var1;
    private String var2;
    // Остальные переменные класса

    public MyClass() {
        if (!fileExists()) {
            var1 = 0; // Значение по умолчанию для int
            var2 = ""; // Значение по умолчанию для String
            // Установите остальные переменные со значениями по умолчанию
        } else {
            // Загрузите значения переменных из файла
        }
    }

    private boolean fileExists() {
        // Логика проверки наличия файла
    }
}
```

Выберите подход, который наилучшим образом соответствует вашим требованиям и стилю программирования.
Определить два конструктора - один с параметрами, а второй без, устанавливающий значения по умолчанию. При наличии файла читать из него параметры и вызывать конструктор с параметрами. При отсутствии файла вызывать конструктор по умолчанию. Если параметров много, то можно вместо множества полей использовать коллекцию или подключить шаблон "строитель", вам виднее, что будет правильнее в вашем случае.
Похожие вопросы