Se scrivo:
void doThis(){
System.out.println("Hello Stackoverflow.");
}
qual è l'ambito predefinito di doThis()
?
Pubblico? Protetta? Privato?
Se scrivo:
void doThis(){
System.out.println("Hello Stackoverflow.");
}
qual è l'ambito predefinito di doThis()
?
Pubblico? Protetta? Privato?
Risposte:
L'ambito predefinito è pacchetto-privato. Tutte le classi nello stesso pacchetto possono accedere al metodo / campo / classe. Package-private è più rigoroso di scopi protetti e pubblici, ma più permissivo di ambito privato.
Ulteriori informazioni:
http://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html
http://mindprod.com/jgloss/scope.html
Qualunque cosa definita come pacchetto privato è accessibile dalla classe stessa, altre classi all'interno dello stesso pacchetto, ma non al di fuori del pacchetto e non da sottoclassi.
Vedi questa pagina per una pratica tabella di modificatori del livello di accesso ...
Senza un modificatore di accesso, un membro della classe è accessibile in tutto il pacchetto in cui è dichiarato. Puoi saperne di più dalle specifiche del linguaggio Java, §6.6.
I membri di un'interfaccia sono sempre accessibili al pubblico, sia esplicitamente dichiarati o meno.
L'ambito predefinito è "predefinito". È strano - vedi questi riferimenti per maggiori informazioni.
Se non stai fornendo alcun modificatore al tuo metodo, come impostazione predefinita sarà il modificatore di default che ha ambito all'interno del pacchetto.
per maggiori informazioni puoi consultare http://wiki.answers.com/Q/What_is_default_access_specifier_in_Java