是否有任何理由说java中的package语句应该在开头?

时间:2017-05-12 10:36:32

标签: java package

我从Java编程语言开始;我有一个简单的问题:

在java包中,如果类是包的一部分,则package语句必须是源代码文件中的第一行,然后才能出现任何import语句。

包装声明是否应该在开头有什么有价值的理由?

2 个答案:

答案 0 :(得分:7)

有原因吗?当然,语言设计者做出了一个设计决定,它必须在编译单元的开头。来自JLS

  

CompilationUnit是Java程序的语法语法(第2.3节)的目标符号(第2.1节)。它由以下作品定义:

CompilationUnit:
    [PackageDeclaration] {ImportDeclaration} {TypeDeclaration}

因此,您必须拥有零个或一个包声明,然后是零个或多个导入声明,然后是零个或多个类型声明。

可能有所不同吗?绝对;但事实就是如此。

答案 1 :(得分:0)

概念没有理由。您可以先解析整个文件,然后根据需要构建内存表示。但我认为你要求的有价值的理由是在编写解析器的时候,如果你早点知道这个包,那就容易了,因为其他一切都应该在那个包的上下文中完成。