我不明白为什么这不起作用。我的顶级课程在未命名的包中(目前;我计划稍后设置包)。
Iclass1.java:
public class Iclass1 {
public static class Nested1 {
// whatever
}
}
Iclass2.java:
import Iclass1.*;
public class Iclass2 {
private Nested1 someMember;
// etc.
}
我编译后Iclass1.java
没有错误后,编译器在我编译时抱怨Iclass2.java
:“错误:包 Iclass1 不存在”。
但是 JLS 说:(7.5.2)
import PackageOrTypeName . * ;
PackageOrTypeName 必须是包、类类型、接口类型、枚举类型或注释类型的规范名称(第 6.7 节)。
和: (6.7)
在未命名包中声明的顶级类或顶级接口的完全限定名称是类或接口的简单名称。
对于每个原始类型、命名包、顶级类和顶级接口,规范名称与完全限定名称相同。
所以看起来 Iclass1 是我试图在import
. 我究竟做错了什么?
(PS我现在认为import static
会更好,但它也不起作用。)