.java
或.jav
)的文件中找到,那么编译时会出错,如果以下两种情况之一成立:
wet.sprocket.Toad
的源代码将在wet/sprocket
目录下的文件Toad.java
中找到,相应的目标代码将在同一目录下的文件Toad.class
中找到。因为语言设计者这么说。这很简单。这是一种惯例,他们强制你遵循它。
语言规范本身并没有规定这一点(我刚刚查看了一下,没有找到任何相关的参考),但通常由工具来执行。这使得工具的依赖管理更加容易,因为它知道如果A类引用B类,它就可以在哪里查找B类。这个约定也扩展到目录结构反映包结构,但同样,这只是一个约定。
if (true)
{
}
替代
if true
{
}
:-)