Tôi đang cố gắng viết cấu trúc dữ liệu cho một bảng băm bằng cách sử dụng chuỗi. Khi tôi loại bỏ từ khóa "tĩnh" từ lớp lồng nhau, tôi nhận được lỗi "Không thể tạo một mảng chung của SeparateChaining.Node"? trên dòng mà tôi cấp phát bộ nhớ cho hmap bằng cách sử dụng mới.Đối với lớp ngoài chung, tại sao tôi cần khai báo lớp lồng nhau tĩnh?
Với từ khóa tĩnh hoạt động tốt.Bạn có thể chỉ ra ý nghĩa của từ khóa tĩnh ở đây và sự khác biệt của từ khóa đó không? Tôi đang tạo ra một mảng của đối tượng, sau đó làm thế nào đến nó cho thấy mảng chung trong lỗi (Eclipse)?
public class SeparateChaining<Key,Value> {
private int m;
private Node[] hmap;
private int n;
public SeparateChaining()
{
m=5;
n=0;
//error here on removal of static keyword from the node class declaration
hmap=new Node[m];
}
private ____ class Node //works fine with static. Otherwise shows error
{
private Object key;
private Object value;
private Node next;
public Node(Object k, Object v)
{
key=k;
value=v;
}
}
Cảm ơn
Không phải loại 'khóa' là' Khóa' và loại 'giá trị' là' Giá trị' (không phải 'Đối tượng')? Và tương tự cho các tham số constructor? – Dukeling