I modificatori di accesso sono parole chiave poste prima di attributi, metodi o classi per gestire la modalità di accesso. Limitano quali metodi, classi o pacchetti possono utilizzare i dati modificati.
I modificatori di accesso sono talvolta indicati anche come modificatori di visibilità. Questo è un modo intuitivo per dire che descrivono quanto siano visibili alcune parti di un programma ad altri componenti che potrebbero volervi accedere.
I modificatori di visibilità consentono di limitare il modo in cui i programmatori accedono a determinate classi. Questo in realtà soddisfa un principio chiave della programmazione orientata agli oggetti: l'incapsulamento.
Questi sono i quattro modificatori di accesso utilizzati in Java:
Predefinito
Quando non si definisce esplicitamente un modificatore, il compilatore Java utilizzerà l'accesso di visibilità predefinito. A questo livello di accesso, solo le classi nello stesso pacchetto della classe definita possono accedere alle sue variabili o metodi.
Relazionato: Impara come creare classi in Java
Il modificatore predefinito si applica anche alle classi, non solo ai suoi membri. Dà alle classi le stesse restrizioni di visibilità che ai suoi membri.
Il modificatore predefinito è indicato anche come privato del pacchetto.
Per utilizzare il modificatore di accesso predefinito, definisci i membri della tua classe senza alcun modificatore:
classe Persona{
int età;
Nome stringa;
int jump(){}
}
Modificatore pubblico
Questo modificatore consente l'accesso ai membri di una classe in tutti i pacchetti. In poche parole, puoi accedervi ovunque. Il pubblico modificatore fornisce il livello di accesso meno restrittivo.
È anche importante notare che il pubblico modificatore può essere utilizzato anche con le classi.
Basta anteporre alla classe o al suo membro il prefisso pubblico in modo da dargli una visibilità pubblica. Vedi l'esempio qui sotto:
Persona di classe pubblica{
pubblico int età;
nome stringa pubblico;
public int jump(){}
}
Modificatore protetto
Questo modificatore consente l'accesso ai membri di una classe all'interno della classe e delle sue sottoclassi. Può fornire l'accesso all'esterno di un pacchetto anche se solo tramite ereditarietà. A differenza dei due modificatori precedenti, protetto può essere utilizzato solo con i membri di una classe, non con la classe stessa.
Vedi il codice qui sotto su come puoi usarlo:
classe Persona{
protetto int età;
Nome stringa protetto;
int protetto jump(){}
}
Modificatore privato
Questo modificatore consente l'accesso ai membri di una classe solo all'interno della classe. Proprio come protetto, anche privato è applicabile solo ai membri di una classe.
Privato è il livello di accesso più rigoroso e dovrebbe essere utilizzato solo se si è completamente sicuri di non volere che i membri della propria classe vengano utilizzati da altre classi. Ad esempio, otterrai un errore in fase di compilazione se tenti di accedere a un costruttore con un modificatore privato.
come con pubblico e privato, aggiungi semplicemente la parola chiave private per utilizzare questo modificatore.
classe Persona{
età int privata;
nome stringa privato;
salto int privato (){}
}
Ulteriori considerazioni su Java
A questo punto, è importante chiedersi come gestiresti questi modificatori di visibilità quando si tratta di sostituire il metodo. La risposta è mantenere un livello di visibilità che sia allo stesso livello di quello definito dalla superclasse o superiore.
Ad esempio, se la classe genitore ha protetto, non puoi usare l'impostazione predefinita o privato modificatori nella sottoclasse sovraordinata.
La tabella seguente riassume i livelli di accesso di ciascun modificatore di visibilità. Puoi usarlo per basare le tue conoscenze sui modificatori di accesso.
Dalla tabella è interessante notare che i membri di una classe sono sempre accessibili all'interno di una classe. Il resto delle colonne mostra ciò che hai già letto sopra.
È importante notare che è possibile utilizzare una combinazione di questi modificatori di accesso all'interno di una classe. Ciò che determina il modo in cui scegli quello da utilizzare è quanto vuoi che sia accessibile una determinata parte del codice.
Il tuo processo di scelta dovrebbe essere un graduale passaggio dal più restrittivo al meno restrittivo.
Java è abbastanza pulito da solo, ma se abbinato a MySQL? Le possibilità sono limitate solo dalla tua creatività.
Java fornisce JDBC come parte di Java SDK. In questo articolo, esaminiamo i dettagli della connessione a un database MySQL e dell'esecuzione di query con esso.
Leggi Avanti
- Programmazione
- Giava
- Suggerimenti per la codifica

Jerome è uno scrittore dello staff di MakeUseOf. Si occupa di articoli su programmazione e Linux. È anche un appassionato di criptovalute e tiene sempre d'occhio l'industria delle criptovalute.
Iscriviti alla nostra Newsletter
Iscriviti alla nostra newsletter per suggerimenti tecnici, recensioni, ebook gratuiti e offerte esclusive!
Ancora un passo…!
Conferma il tuo indirizzo e-mail nell'e-mail che ti abbiamo appena inviato.