私はちょうど実験しています。ローリングコードを実行すると、コンパイルされず、理由がわかりません。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
コードからは、シングルトンファクトリを作成しようとしているようです。それがあなたの目標なら、あなたは 'プライベートリストリストを変更する必要があります。 ''プライベート静的リストリスト '; –
@Perception:もし彼が 'プライベートリストリスト'を 'プライベート静的リストリスト'に変更すれば、最初のコードでは、それはうまくいくはずですか? – noMAD