Junior
Beszélj a Java hozzáférés módosítókról.
sobes.tech MI
Válasz az MI-től
A hozzáférés módosítók szabályozzák az osztályok, az osztály tagjai (mezők, metódusok, konstruktorok) láthatóságát Java-ban.
Négy hozzáférési módosító létezik:
publicprotecteddefault(módosító nélkül)private
Ezek láthatósága különböző kontextusokban:
| Módosító | Osztályon belül | Csomagon belül | Alosztályban (bármely csomagban) | Mindenhol |
|---|---|---|---|---|
private |
Igen | Nem | Nem | Nem |
default |
Igen | Igen | Nem | Nem |
protected |
Igen | Igen | Igen | Nem |
public |
Igen | Igen | Igen | Igen |
Használati példák:
public class Parent {
private int privateField; // Csak a Parent osztályon belül elérhető
int defaultField; // Csomagon belül elérhető
protected int protectedField; // Csomagon belül és alosztályokban elérhető
public int publicField; // Mindenhol elérhető
private void privateMethod() {} // Csak a Parent osztályon belül elérhető
void defaultMethod() {} // Csomagon belül elérhető
protected void protectedMethod() {} // Csomagon belül és alosztályokban elérhető
public void publicMethod() {} // Mindenhol elérhető
}
package another_package;
import some_package.Parent;
public class Child extends Parent {
void accessFields() {
// privateField = 10; // Hiba: privát
defaultField = 20; // Hiba: default (más csomagban)
protectedField = 30; // Elérhető: protected (alosztályban)
publicField = 40; // Elérhető: public
}
void accessMethods() {
// privateMethod(); // Hiba: privát
// defaultMethod(); // Hiba: default (más csomagban)
protectedMethod(); // Elérhető: protected (alosztályban)
publicMethod(); // Elérhető: public
}
}
A módosítók az osztályok kapszulázására és az API kezelésére szolgálnak.