Я просматривал код Java для LinkedList
и заметил, что он использует статический вложенный класс, Entry
.
public class LinkedList<E> ... {
...
private static class Entry<E> { ... }
}
В чем причина использования статического вложенного класса, а не обычного внутреннего класса?
Единственная причина, о которой я мог подумать, это то, что Entry не имеет доступа к переменным экземпляра, поэтому с точки зрения ООП он лучше инкапсулируется.
Но я подумал, что могут быть и другие причины, например, производительность. Что бы это могло быть?
Примечание. Я надеюсь, что мои термины верны, я бы назвал это статическим внутренним классом, но я думаю, что это неправильно: http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html