Junior
Разкажи за модификаторите за достъп в Java.
sobes.tech AI
Отговор от AI
Модификаторите за достъп управляват видимостта на класовете, членовете на класа (полета, методи, конструктори) в Java.
Съществуват четири модификатора за достъп:
publicprotecteddefault(без модификатор)private
Тяхната видимост в различни контексти:
| Модификатор | Вътре в класа | Вътре в пакета | В подклас (в който и да е пакет) | Навсякъде |
|---|---|---|---|---|
private |
Да | Не | Не | Не |
default |
Да | Да | Не | Не |
protected |
Да | Да | Да | Не |
public |
Да | Да | Да | Да |
Примери за използване:
public class Parent {
private int privateField; // Достъпен само вътре в класа Parent
int defaultField; // Достъпен в пакета
protected int protectedField; // Достъпен в пакета и в подкласовете
public int publicField; // Достъпен навсякъде
private void privateMethod() {} // Достъпен само вътре в класа Parent
void defaultMethod() {} // Достъпен в пакета
protected void protectedMethod() {} // Достъпен в пакета и в подкласовете
public void publicMethod() {} // Достъпен навсякъде
}
package another_package;
import some_package.Parent;
public class Child extends Parent {
void accessFields() {
// privateField = 10; // Грешка: private
defaultField = 20; // Грешка: default (в друг пакет)
protectedField = 30; // Достъпен: protected (в подклас)
publicField = 40; // Достъпен: public
}
void accessMethods() {
// privateMethod(); // Грешка: private
// defaultMethod(); // Грешка: default (в друг пакет)
protectedMethod(); // Достъпен: protected (в подклас)
publicMethod(); // Достъпен: public
}
}
Модификаторите се използват за капсулация и управление на API на класовете.