我不知道为什么这不起作用。我的顶级类位于未命名的程序包中(目前;我计划稍后再设置程序包)。
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 . * ;
和:(6.7)
因此,似乎Iclass1是我要在
import
中使用的类型的规范名称。我究竟做错了什么?(P.S.我现在认为
import static
会更好,但也不起作用。) 最佳答案
由于您没有软件包,因此请不要使用导入。
因为JLS §7.5告诉您不要: