Sobes.tech
Back to questions
Junior — Middle
82

Допустимо ли объявлять поля класса с открытой видимостью без ограничений?

Answer from AI

sobes.tech AI

Объявлять поля класса с открытой (public) видимостью без ограничений в Java не рекомендуется. Это нарушает принцип инкапсуляции — одного из ключевых принципов объектно-ориентированного программирования.

Лучшей практикой является объявлять поля как private и предоставлять доступ к ним через методы-геттеры и сеттеры. Это позволяет контролировать доступ и изменение данных, а также облегчает поддержку и изменение внутренней реализации класса без влияния на внешний код.

Пример:

public class User {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

Исключения могут быть в случае констант (static final), которые обычно объявляют как public.