Как заполнить атрибуты у класса?

Использование сеттеров.

Короткий ответ

Что ответить на собеседовании

Использование сеттеров. Наиболее распространенный способ, обеспечивающий валидацию данных. Конструктор. Позволяет инициализировать атрибуты при создании объекта. Прямой доступ. Применим для публичных (public) атрибутов, но считается плохой практикой (нарушение инкапсуляции). Reflection API. Позволяет устанавливать значения приватных атрибутов во время выполнения, используется осторожно.

Подробный разбор

Ответ с пояснениями

  1. Использование сеттеров. Наиболее распространенный способ, обеспечивающий валидацию данных.
  2. Конструктор. Позволяет инициализировать атрибуты при создании объекта.
  3. Прямой доступ. Применим для публичных (public) атрибутов, но считается плохой практикой (нарушение инкапсуляции).
  4. Reflection API. Позволяет устанавливать значения приватных атрибутов во время выполнения, используется осторожно.

Пример с сеттерами:

public class Person {
    private String name;
    private int age;

    public void setName(String name) {
        if (name != null && !name.trim().isEmpty()) {
            this.name = name;
        }
    }

    public void setAge(int age) {
        if (age > 0) {
            this.age = age;
        }
    }

    // Геттеры для доступа к атрибутам
    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }
}

Пример с конструктором:

public class Car {
    private String make;
    private String model;

    public Car(String make, String model) {
        this.make = make;
        this.model = model;
    }

    // Геттеры и, возможно, сеттеры
}

Пример прямого доступа (не рекомендуется):

public class Animal {
    public String species;
}

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее