Oggi stavo giocando con Java e ho letto sulle classi interne statiche. Perché puoi avere "stato" all'interno di una classe interiore statica. Ad esempio:
class outerClass {
static class Test {
private String a;
String getA() { return a; }
void setA( String newA) {a = newA; }
}
}
Sto fraintendendo qualcosa? Sembra che tu non debba essere in grado di mantenere lo stato mutabile all'interno di una classe che è etichettata come statica. Inoltre sembra che tu non dovresti essere in grado di creare un'istanza di qualcosa che è una classe statica, dovrebbe essere un singleton statico. Forse qualcuno potrebbe correggermi se sto facendo un'ipotesi errata o chiarirmi perché gli autori di Java hanno deciso di renderlo possibile.
EDIT: mi sembra di confondere la parola chiave final
e static
in java, poiché le variabili final
non hanno stato. Sembra tuttavia molto strano essere in grado di creare un'istanza di una classe statica.