Campi e metodi dichiarati static, sono associati alla classe e non a una particolare istanza
Pertanto esiste una sola copia di un campo statico, condiviso da tutte le istanze della classe
Non occorre istanziare un oggetto per usare un membro statico
Metodi statici possono accedere solo a membri statici della classe
Sono qualificati con il nome della classe, e non dell’istanza
Utilizzate quando:
Definire un metodo o un attributo static significa dire che questo appartiene alla classe non è legato ad alcun oggetto in particolare
Un metodo static non può accedere a elementi non-static perchè questi non vengono creati fino a che non viene creato un oggetto
Un attributo o un metodo statico può essere chiamato sia in riferimento ad un oggetto sia in riferimento alla classe
Le classi interne non possono dichiarare metodi statici, ma è possibile che una classe interna sia static
Un’istanza di una classe interna implicitamente mantiene un riferimento all’oggetto della classe esterna che lo ha creato, questo non è vero per classi interne statiche:
Non è consentito inserire codice all’interno di una interfaccia, ma una classe interna statica può essere parte di una interfaccia