Tôi vừa thử nghiệm và thấy rằng khi tôi chạy mã cuộn, nó không biên dịch và tôi không thể hiểu tại sao.Java - tạo tham chiếu tĩnh đến danh sách trường không tĩnh
IDE của tôi nói 'Không thể tạo tham chiếu tĩnh cho danh sách trường không tĩnh', nhưng tôi thực sự không hiểu điều gì hoặc tại sao điều này xảy ra. Ngoài ra những gì khác nó áp dụng cho, ví dụ: là nó chỉ biến và hoặc các phương pháp tin quá và tại sao ?:
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);
}
}
Tuy nhiên, khi tôi thay đổi nó để sau, nó CO làm việc:
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);
}
}
Phương pháp chính là tĩnh. Nó chỉ có quyền truy cập vào các biến thành viên tĩnh và các hàm của lớp kèm theo. Lỗi khá tự giải thích. – Perception
Từ mã của bạn, có vẻ như bạn đang cố tạo một nhà máy singleton. Nếu đó là mục tiêu của bạn, bạn nên thay đổi 'danh sách riêng tư; 'to 'private static Danh sách danh sách;' –
@Perception: Vì vậy, nếu anh ta thay đổi danh sách 'danh sách riêng;' thành 'danh sách liệt kê riêng tĩnh;' trong mã đầu tiên, nó sẽ hoạt động ??? – noMAD