Originariamente inviato da Kaamos
No, le classi nidificate possono essere statiche oppure no; del resto seguendo la filosofia del linguaggio, se avessero dovuto essere per forza statiche, si sarebbero considerate "implicitamente" statiche e non sarebbe stato necessario specificarlo; ci sono altre caratteristiche del linguaggio che seguono questo filone di pensiero, per esempio tutti i metodi di un'interfaccia sono implicitamente pubblici e non è necessario specificarlo.
In inglese le classi nidificate (di ogni tipo) vengono chiamate "nested classes": se sono statiche vengono chiamate "static nested classes", se non sono statiche "inner classes"; in realtà poi esistono altri due tipi di nested classes.
http://docs.oracle.com/javase/tutori...OO/nested.html
Dai un'occhiata a questo link, se qualcosa non ti è chiaro fai una piccola ricerca su Google ed eventualmente chiedi qua (se l'argomento è riconducibile direttamente al programma che stai svolgendo) o apri un nuovo thread se hai dubbi generici sulle classi nidificate.
In questo caso specifico, la classe nodo dev'essere statica perché quelle non statiche possono esistere SOLO all'interno di un'istanza della classe che le contiene, quindi nel main per creare un nodo avresti dovuto creare anche una lista (per altro con una sintassi un po' contorta per chi non ha mai utilizzato queste cose), insomma una complicazione inutile, mentre così si tratta semplicemente di una classe messa dentro un'altra per comodità.