Java不包含文件。但是,您可以通过使用import
语句直接使用简单名称的类。
基本上你需要你定义每个(顶层)类的文件。这允许IDE重命名编译单元,并执行其他重构。除此之外,它可以让您轻松地在正确的位置添加代码。
Java那样使用包创建命名空间。包本身是完全独立的名称空间。尽管名称空间似乎是一个树形结构,但在Java中,每个包实际上都不与任何其他包相关。因此,您不能将其用作文件夹结构,不允许使用..
。一旦引入“超级套餐”,这可能会改变。
Java的import
语句看起来很像#include
,但名称的改变是经过深思熟虑的:不是抓住了文件,使已知该文件的定义,它只是一个简单的更容易引用类的声明和接口。它除了给一个班级缩短名字(或者对于import static
,常数和其他static
成员)没有其他影响。
大部分时间使用反映包名称的文件夹结构来表示顶级类。这使IDE和开发人员可以轻松找到表示该类的文件。它还可以很容易地进行版本控制。然而,它不是Java规范本身的一部分; Java源和类的位置未定义。早期的IBM IDE实际上将Java源代码和类存储在数据库中;他们根本没有使用文件。较新的IDE(例如Eclipse)可能使用不同的源文件夹,例如一个用于单元测试文件,一个用于库本身。
所以最后,包括包的唯一方法是通过指定导入包的所有类的完整包名,然后一个点,然后导入类或*
通配符。
import java.util.Vector;
import java.util.*;
大多数IDE的将创建这些导入语句,你选择了正确的类进口(万一有个教学班,在不同的包中的同名)可能经过。
更多信息可在Java Language Specification (Java 7 version)中找到。
在你的情况下,你已经定义了一个Main
类的根或默认包,这是强烈不鼓励。您可以直接参考Main
而不需要任何import
声明。 Other
类是在同名的Other
包中(在包名中使用大写字母也非常不鼓励)。您可以使用import Other.Other
来引用它。
虽然您所说的内容没有任何技术上的错误,但您实际上并没有真正回答“如何在Java中包含上述目录中的文件?”这个问题。 – 2013-10-01 03:37:08
@MatthewG好的,重写了答案,谢谢你的抬头 – 2013-10-01 18:56:53