Stavo cercando il codice Java LinkedList
e ho notato che faceva uso di una classe nidificata statica Entry
.
public class LinkedList<E> ... {
...
private static class Entry<E> { ... }
}
Qual è la ragione per usare una classe annidata statica, piuttosto che una normale classe interna?
L'unico motivo che mi viene in mente è che Entry non ha accesso alle variabili di istanza, quindi dal punto di vista OOP ha un migliore incapsulamento.
Ma ho pensato che potrebbero esserci altri motivi, forse la performance. Cosa potrebbe essere?
Nota. Spero di aver corretto i miei termini, l'avrei definita una classe interna statica, ma penso che sia sbagliato: http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html