- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang cố gắng viết cấu trúc dữ liệu cho bảng băm bằng cách sử dụng chuỗi. Khi tôi xóa từ khóa "tĩnh" khỏi một lớp lồng nhau, tôi gặp lỗi "Không thể tạo mảng chung của Tách biệtChaining.Node"? Trong dòng tôi sử dụng new để cấp phát bộ nhớ cho hmap.
Sử dụng từ khóa tĩnh hoạt động tốt. Ai đó có thể chỉ ra tầm quan trọng của từ khóa tĩnh ở đây và sự khác biệt của nó không? Tôi đang tạo một mảng đối tượng, tại sao nó lại hiển thị một mảng chung trong lỗi (Eclipse)?
lớp công khai Tách biệt {
int riêng m;
Nút riêng tư[] hmap;
int riêng n;
publicSeparateChaining()
{
m=5;
n=0;
// lỗi ở đây khi xóa từ khóa tĩnh khỏi khai báo lớp nút
hmap=Nút mới[m];
}
Nút lớp ____ riêng tư // hoạt động tốt với tĩnh. Nếu không thì hiển thị lỗi.
{
khóa đối tượng riêng;
giá trị đối tượng riêng tư;
nút riêng tiếp theo;
Nút công khai (Đối tượng k, Đối tượng v)
{
khóa=k;
giá trị=v;
}
}
Cảm ơn
câu trả lời hay nhất
Nếu khai báo bên trong Node
được phân loại là static
, thì lớp đó được liên kết với lớp bên ngoài Chuỗi riêng biệt
. Node
Vậy thực ra nó làTách riêngChaining.Node
.
没有 static
, sẽ được so sánh với Chuỗi riêng biệt
được liên kết với một thể hiện, điều này sẽ yêu cầu một số tham số kiểu, vì vậy nội bộ Node
Các lớp cũng yêu cầu các tham số kiểu đó. Node
Vậy thực ra nó làChuỗi riêng biệt
;Trong Java,tạo ra một loạt các genericsBất hợp pháp.
Về java - Tại sao tôi cần khai báo lớp lồng nhau là tĩnh cho lớp chung bên ngoài? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/16199919/
Tôi là một lập trình viên xuất sắc, rất giỏi!