Tôi không thể hiểu tại sao điều này không hiệu quả. Các lớp cấp cao nhất của tôi nằm trong các gói chưa được đặt tên (hiện tại, tôi đang lên kế hoạch thiết lập các gói sau).Đang cố gắng nhập các loại lồng nhau từ lớp
Iclass1.java:
public class Iclass1 {
public static class Nested1 {
// whatever
}
}
Iclass2.java:
import Iclass1.*;
public class Iclass2 {
private Nested1 someMember;
// etc.
}
Sau khi tôi biên dịch Iclass1.java
không có lỗi, trình biên dịch phàn nàn khi tôi biên dịch Iclass2.java
: "Lỗi: gói Iclass1 không tồn tại ".
Nhưng JLS nói: (7.5.2)
import PackageOrTypeName . * ;
The PackageOrTypeName must be the canonical name (§6.7) of a package, a class type, an interface type, an enum type, or an annotation type.
và: (6,7)
The fully qualified name of a top level class or top level interface that is declared in an unnamed package is the simple name of the class or interface.
For every primitive type, named package, top level class, and top level interface, the canonical name is the same as the fully qualified name.
Vì vậy, nó có vẻ như Iclass1 là tên chuẩn của loại I' m cố gắng sử dụng trong import
. Tôi đang làm gì sai?
(T.B. bây giờ tôi nghĩ import static
sẽ tốt hơn, nhưng nó không hoạt động nữa.)
nhưng - trên tất cả - đó là câu trả lời đúng? –
Câu trả lời được chỉnh sửa ngay bây giờ của Sajal giải quyết đúng câu hỏi. Các câu trả lời khác là sai (các giải pháp được đề xuất không hoạt động) hoặc không hữu ích (họ chỉ nói "không làm điều đó") hoặc cả hai. –