Back to questions
Junior — Middle
59
Объясните различия между уровнями доступа private, default (package-private), protected и public в языках программирования, например, в Java.
Companies where asked
Siberteam
Answer from AI
sobes.tech AI
В 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; // доступ отовсюду
}
Таким образом, уровни доступа помогают контролировать инкапсуляцию и безопасность данных.