我正在查看 LinkedList
的 Java 代码,发现它使用了一个静态嵌套类 Entry
。
public class LinkedList<E> ... {
...
private static class Entry<E> { ... }
}
为什么要使用静态嵌套类而不是普通的内部类?我唯一能想到的原因是,Entry 没有访问实例变量的权限,因此从面向对象编程的角度来看,它具有更好的封装性。
但我认为可能还有其他原因,比如性能。那会是什么呢?
注意:我希望自己的术语是正确的,我本来想称其为静态内部类,但我认为这是错误的:http://java.sun.com/docs/books/tutorial/java/javaOO/nested.html