Sobes.tech
Junior

Parla dei modificatori di accesso in Java.

sobes.tech AI

Risposta dell'AI

I modificatori di accesso controllano la visibilità delle classi, dei membri della classe (campi, metodi, costruttori) in Java.

Esistono quattro modificatori di accesso:

  • public
  • protected
  • default (senza modificatore)
  • private

La loro visibilità in diversi contesti:

Modificatore Dentro la classe Dentro il package In una sottoclasse (in qualsiasi package) Ovunque
private No No No
default No No
protected No
public

Esempi di utilizzo:

public class Parent {

    private int privateField;       // Accessibile solo all'interno della classe Parent
    int defaultField;              // Accessibile all'interno del package
    protected int protectedField;   // Accessibile all'interno del package e nelle sottoclassi
    public int publicField;         // Accessibile ovunque

    private void privateMethod() {} // Accessibile solo all'interno della classe Parent
    void defaultMethod() {}        // Accessibile all'interno del package
    protected void protectedMethod() {} // Accessibile all'interno del package e nelle sottoclassi
    public void publicMethod() {}   // Accessibile ovunque
}
package another_package;

import some_package.Parent;

public class Child extends Parent {

    void accessFields() {
        // privateField = 10; // Errore: privato
        defaultField = 20;   // Errore: default (in altro package)
        protectedField = 30; // Accessibile: protected (nella sottoclasse)
        publicField = 40;    // Accessibile: pubblico
    }

    void accessMethods() {
        // privateMethod(); // Errore: privato
        // defaultMethod(); // Errore: default (in altro package)
        protectedMethod(); // Accessibile: protected (nella sottoclasse)
        publicMethod();  // Accessibile: pubblico
    }
}

I modificatori vengono usati per incapsulamento e gestione dell'API delle classi.