Junior
Реци о модификаторима приступа у Јави.
sobes.tech АИ
Одговор од АИ
Modifikatori pristupa kontrolišu vidljivost klasa, članova klase (polja, metode, konstruktori) u Javi.
Postoje četiri modifikatora pristupa:
publicprotecteddefault(bez modifikatora)private
Njihova vidljivost u različitim kontekstima:
| Modifikator | Unutar klase | Unutar paketa | U podklasi (u bilo kojem paketu) | Svuda |
|---|---|---|---|---|
private |
Da | Ne | Ne | Ne |
default |
Da | Da | Ne | Ne |
protected |
Da | Da | Da | Ne |
public |
Da | Da | Da | Da |
Primeri upotrebe:
public class Parent {
private int privateField; // Dostupno samo unutar klase Parent
int defaultField; // Dostupno unutar paketa
protected int protectedField; // Dostupno unutar paketa i u podklasama
public int publicField; // Dostupno svuda
private void privateMethod() {} // Dostupno samo unutar klase Parent
void defaultMethod() {} // Dostupno unutar paketa
protected void protectedMethod() {} // Dostupno unutar paketa i u podklasama
public void publicMethod() {} // Dostupno svuda
}
package another_package;
import some_package.Parent;
public class Child extends Parent {
void accessFields() {
// privateField = 10; // Greška: privatno
defaultField = 20; // Greška: default (u drugom paketu)
protectedField = 30; // Dostupno: protected (u podklasi)
publicField = 40; // Dostupno: public
}
void accessMethods() {
// privateMethod(); // Greška: privatno
// defaultMethod(); // Greška: default (u drugom paketu)
protectedMethod(); // Dostupno: protected (u podklasi)
publicMethod(); // Dostupno: public
}
}
Modifikatori se koriste za enkapsulaciju i upravljanje API-jem klasa.