Sobes.tech
Junior

Vorbește despre modificatorii de acces în Java.

sobes.tech AI

Răspuns de la AI

Modificatorii de acces controlează vizibilitatea claselor, membrilor clasei (câmpuri, metode, constructori) în Java.

Există patru modificatori de acces:

  • public
  • protected
  • default (fără modificator)
  • private

Vizibilitatea lor în diferite contexte:

Modificator În interiorul clasei În interiorul pachetului Într-o subclasă (în orice pachet) Oriunde
private Da Nu Nu Nu
default Da Da Nu Nu
protected Da Da Da Nu
public Da Da Da Da

Exemple de utilizare:

public class Parent {

    private int privateField;       // Accesibil doar în clasa Parent
    int defaultField;              // Accesibil în pachet
    protected int protectedField;   // Accesibil în pachet și în subclase
    public int publicField;         // Accesibil peste tot

    private void privateMethod() {} // Accesibil doar în clasa Parent
    void defaultMethod() {}        // Accesibil în pachet
    protected void protectedMethod() {} // Accesibil în pachet și în subclase
    public void publicMethod() {}   // Accesibil peste tot
}
package another_package;

import some_package.Parent;

public class Child extends Parent {

    void accessFields() {
        // privateField = 10; // Eroare: privat
        defaultField = 20;   // Eroare: default (în alt pachet)
        protectedField = 30; // Accesibil: protected (în subclasă)
        publicField = 40;    // Accesibil: public
    }

    void accessMethods() {
        // privateMethod(); // Eroare: privat
        // defaultMethod(); // Eroare: default (în alt pachet)
        protectedMethod(); // Accesibil: protected (în subclasă)
        publicMethod();  // Accesibil: public
    }
}

Modificatorii sunt folosiți pentru încapsulare și gestionarea API-ului claselor.