Introduzione
Un modificatore di accesso è un tipo speciale di dichiarazione di variabile che controlla come e dove altro codice può utilizzare la classe, la variabile o il metodo dichiarati. Questo articolo spiegherà cosa sono i modificatori di accesso e i tre diversi livelli di visibilità per classi, metodi e variabili con alcuni esempi pratici.
Comprendere l'ambito del codice è essenziale per scrivere programmi leggibili e gestibili. I modificatori di accesso sono un modo per raggiungere questo obiettivo. Dicono agli altri utenti del tuo codice come vuoi che interagiscano con metodi o variabili specifici. Se non conosci la programmazione Java, questi concetti possono sembrare confusi a prima vista; tuttavia, una volta compresi, diventano molto più chiari. Continua a leggere per saperne di più sui modificatori di accesso in Java.
Modificatori di accesso in Java
I modificatori di accesso sono parole chiave speciali che consentono di specificare come altro codice può interagire con metodi o variabili specifici all'interno delle classi. Come molti concetti di programmazione, i modificatori di accesso sono semplici in pratica ma all'inizio possono sembrare confusi. Una volta che li comprendi, possono aiutarti a rendere il tuo codice più leggibile e gestibile.
Esistono quattro diversi tipi di modificatori di accesso in Java:
- Privato: un membro privato è accessibile nell'ambito della classe.
- Predefinito: un membro senza modificatore di accesso è anche noto come package-private . Che è accessibile solo all'interno delle classi nello stesso pacchetto.
- Protetto: un membro protetto è accessibile all'interno di tutte le classi dello stesso pacchetto e delle sottoclassi degli altri pacchetti.
- Pubblico: un membro pubblico è accessibile ovunque.
Modificatore di accesso privato
Un membro di accesso privato è accessibile all'interno della classe dichiarata. Si verificherà un errore in fase di compilazione quando un'altra classe tenterà di accedervi.
Capiamo con un esempio: creata una classe denominata “One
”, e dichiarare una variabile privata “i
” con un valore di default. Ora crea un metodo showData()
con accesso predefinito nella stessa classe che stampa il valore della variabile.
Ora crea un'altra classe "Noviello
" con il metodo main()
. Crea un oggetto di classe One e prova a stampare la variabile “i”. Poiché la variabile "i" è dichiarata privata, il compilatore java eseguirà un errore. Commenta la riga precedente e quindi chiama il metodo showData. Questo stamperà correttamente il valore di "i" poiché anche il metodo è dichiarato nella stessa classe:
class One{
private int i = 10;
void showData(){
System.out.println(i);
}
}
class Noviello{
public static void main(String args[]){
One obj = new One();
System.out.println(obj.i); //Compilation error
// Comment above line to test the next line code
obj.showData(); //Successfully run
}
}
Conclusione
La principale differenza tra ogni livello di visibilità è chi può accedervi: – pubblico – tutti, privato – solo la classe che contiene la variabile/metodo, protetta – la classe che contiene la variabile/metodo e le eventuali classi da essa derivate La visibilità del classe, metodo o variabile determina se e come altri metodi o classi possono interagire con esso. Questo si chiama incapsulamento ed è uno dei capisaldi della programmazione orientata agli oggetti. E ora che sai cosa sono i modificatori di accesso e come funzionano, puoi usarli nel tuo codice per renderlo più leggibile e gestibile.