Contenuti del Corso
Java Avanzato
Java Avanzato
Modificatori di Accesso
I modificatori di accesso in Java sono parole chiave che determinano l'accessibilità di classi, variabili, metodi e costruttori. Di seguito una breve spiegazione dei quattro modificatori di accesso:
Public
Il modificatore public
consente un accesso senza restrizioni alla classe, variabile, metodo o costruttore. Può essere accessibile da qualsiasi punto del programma, anche dall'esterno della classe e da altri package.
Private
Il modificatore private
limita l'accesso solo all'interno della stessa classe. Garantisce che il membro non sia accessibile da nessun'altra classe, incluse le sottoclassi e altri package.
Protected
Il modificatore protected
consente l'accesso all'interno della stessa classe, delle sottoclassi e delle altre classi nello stesso package. Fornisce un livello di accesso più restrittivo rispetto a public ma meno restrittivo rispetto a private.
Package-private
Se il modificatore di accesso non è specificato, viene considerato il livello di accesso predefinito. Il modificatore predefinito consente l'accesso all'interno dello stesso package ma limita l'accesso dall'esterno del package.
Parliamo ora degli import. I modificatori di accesso determinano principalmente dove possono essere importati nel programma. Di seguito una tabella che mostra dove è possibile accedere a un campo/metodo/classe contrassegnato con uno specifico modificatore di accesso:
Analizziamo ciascun modificatore di accesso in modo più dettagliato:
public
- con questo modificatore di accesso, è possibile accedere all'oggetto da qualsiasi luogo;protected
- è possibile accedere agli oggetti con questo modificatore di accesso dalla classe in cui si trova l'oggetto, dal package in cui si trova il file con questa classe e dalle sottoclassi (approfondiremo questi argomenti in un corso separato);package private
o predefinito - è possibile accedere agli oggetti con questo modificatore di accesso dalla classe in cui si trova l'oggetto e dal package in cui si trova il file con questa classe;private
- è possibile accedere agli oggetti con questo modificatore di accesso solo dalla classe in cui l'oggetto è istanziato.
1. Cosa fa il modificatore di accesso private
in Java?
2. Qual è il livello di accesso predefinito in Java se non viene specificato alcun modificatore di accesso?
Grazie per i tuoi commenti!