【发布时间】:2011-01-03 01:29:23
【问题描述】:
是否可以在 Java 中导入默认包中的类?如果是这样,语法是什么?例如,如果您有
package foo.bar;
public class SomeClass {
// ...
在一个文件中,你可以写
package baz.fonz;
import foo.bar.SomeClass;
public class AnotherClass {
SomeClass sc = new SomeClass();
// ...
在另一个文件中。但是如果 SomeClass.java 不包含包声明怎么办? AnotherClass 中的 SomeClass 怎么引用?
【问题讨论】:
-
相信你只是参考一下。如果它们在默认包中,则意味着它们必须在同一目录中(或至少在类路径中)。
-
@Thorbjørn:我现在正在训练中,戳了五分钟后没人知道该怎么做。最初,讲师试图说明 Eclipse 可以一键添加缺少的导入语句,但该工具没有选择没有包的类。
-
@mmyers:嗯,我对此很警惕,因为我对 Groovy 的了解为零。即便如此,看起来我的 SO-search-fu 还是失败了。谢谢!
-
每个类都有一个包。如果你不声明包,它会被添加到“默认”包中,如下所示:“import default.Foo”。自动包含的类在 java.lang 中,可以显式导入“import java.lang.String”,但会是多余的。
-
我认为标题有点误导:“...从默认包中导入一个类...”会更好(不是以英语为母语的人,我可能错了)