Gli attributi, i metodi e le classi possono essere dichiarati con diversi livelli di visibilità e con altre caratteristiche.
Attributo
public |
Accessibile da qualsiasi altra classe |
private |
Accessibile solo dalla classe |
protected |
Accessibile solo dalla stessa libreria e dalle sottoclassi della stessa classe |
|
Accessibile solo dalla stessa libreria |
static |
Esiste una sola copia, per la classe, condivisa da tutti gli oggetti |
final |
Diventa una costante |
Metodo
public |
Accessibile da qualsiasi altra classe |
private |
Accessibile solo dalla classe |
protected |
Accessibile dai metodi della classe e delle sottoclassi |
|
Accessibile solo dalla stessa libreria |
static |
Viene richiamato senza creare un oggetto ma con il nome della classe |
void |
Non produce un valore di ritorno |
Il metodo main() è statico perché viene richiamato senza che esista già alcun oggetto.
Classe
public |
Accessibile da qualsiasi altra classe, anche fuori dalla libreria |
private |
? |
abstract |
Non può essere istanziata perché incompleta, verrà completata dalle sottoclassi |
final |
Non possono essere generate sottoclassi |
|
Accessibile solo dalla stessa libreria |
Interfaccia
- i campi sono automaticamente public static final
- i metodi sono automaticamente public abstract
Blocco
static |
Viene eseguito una sola volta |