Sobes.tech
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:

  • public
  • protected
  • default (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.