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);
    }

}
5
задан mino 17 April 2012 в 23:39
поделиться