Why class Node in LinkedList defined as static but not normal class
本问题已经有最佳答案,请猛点这里访问。
在Java.util.linkedlist中,类节点定义为一个静态类,是必要的吗?目标是什么?
我们可以从这页中找到源代码。
静态嵌套类的实例没有引用嵌套类的实例。基本上与将它们放在单独的文件中相同,但是如果与嵌套类的内聚力很高,将它们作为嵌套类是一个不错的选择。
但是,非静态嵌套类需要创建嵌套类的实例,并且实例绑定到该实例并具有对其字段的访问权限。
例如,以这个类为例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | public class Main{ private String aField ="test"; public static void main(String... args) { StaticExample x1 = new StaticExample(); System.out.println(x1.getField()); //does not compile: // NonStaticExample x2 = new NonStaticExample(); Main m1 = new Main(); NonStaticExample x2 = m1.new NonStaticExample(); System.out.println(x2.getField()); } private static class StaticExample { String getField(){ //does not compile return aField; } } private class NonStaticExample { String getField(){ return aField; } } |
静态类
回到你的