为什么eclipse需要多次导入?

时间:2012-04-12 06:40:08

标签: java eclipse

a.java有import java.io. *;我拖动所有java链接到项目,但有些最终用红色图标,而a.java用黄色。那些红色的人没有进口,并且表现得没有进口,但那就是我把a.java放在那里的原因。为什么它不起作用?

2 个答案:

答案 0 :(得分:1)

导入的范围是它出现的.java文件。也就是说,在a.java中导入某些东西对b.java没有任何影响。

" import"关键字实际上有一个有点不幸的名字。不熟悉Java的人经常认为它会以某种方式“吸引”#34;。所有它真正做的是给你一个速记来引用另一个包中的东西。例如,你可以写" java.io.File"你想要那个类的所有地方,而不是导入它并将其称为" File"。无论您使用导入我们的完全限定名称,编译后的代码都会完全相同。

答案 1 :(得分:0)

仅仅因为A.javaimport java.io.*;,这并不意味着B.java可以访问java.io.*;B.java必须明确导入它想要使用的内容,即使它们位于同一个包中。 这在JLS的§6.3§7.5中指定。

从第6.3节开始:

  

导入声明仅在实际包含导入声明的编译单元中通过其简单名称使类型或成员可用。由import声明引入的类型或成员的范围具体不包括包声明的PackageName,当前编译单元中的其他导入声明或同一包中的其他编译单元。