Объясните различия между уровнями доступа private, default (package-private), protected и public в языках программирования, например, в Java.

В Java уровни доступа определяют, где можно использовать члены класса (поля, методы):

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

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

В Java уровни доступа определяют, где можно использовать члены класса (поля, методы):

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

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

В Java уровни доступа определяют, где можно использовать члены класса (поля, методы):

  • private: доступ только внутри самого класса. Никакие другие классы, даже в том же пакете, не видят эти члены.
  • default (package-private): если не указан модификатор, доступ разрешён всем классам в том же пакете, но не из других пакетов.
  • protected: доступ разрешён классам в том же пакете и подклассам (даже если они в других пакетах).
  • public: доступ разрешён из любого места, без ограничений.

Пример:

package example;

public class MyClass {
    private int privateVar; // доступ только внутри MyClass
    int defaultVar;         // доступ внутри пакета example
    protected int protectedVar; // доступ внутри пакета и подклассам
    public int publicVar;    // доступ отовсюду
}

Таким образом, уровни доступа помогают контролировать инкапсуляцию и безопасность данных.

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

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

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

Подробнее