我刚刚进行了试验,发现当我运行滚动代码时,它不能编译,我找不到原因。Java - 对静态字段列表进行静态引用
我的IDE说“无法对非静态字段列表进行静态引用”,但我不太明白这是什么或为什么。此外还有什么它适用于,即:它只是私有变量和方法,或者过于为什么?:
public class MyList {
private List list;
public static void main (String[] args) {
list = new LinkedList();
list.add("One");
list.add("Two");
System.out.println(list);
}
}
然而,当我将其更改为以下,它的工作:
public class MyList {
private List list;
public static void main (String[] args) {
new MyList().exct();
}
public void exct() {
list = new LinkedList();
list.add("One");
list.add("Two");
System.out.println(list);
}
}
主要方法是静态的。它只能访问静态成员变量和封闭类的函数。这个错误非常明显。 – Perception 2012-04-17 23:43:11
从你的代码看起来你正在试图创建一个单身工厂。如果这是你的目标,你应该改变'私人列表清单; '到'私人静态列表列表;' – 2012-04-17 23:45:02
@Perception:所以如果他改变'私人列表列表;'到'私人静态列表列表;'在第一个代码,它应该工作? – noMAD 2012-04-17 23:45:15