JAR文件和软件包之间有什么区别吗?
包是一种 逻辑上 组织您的类的方法。例如,您可以package com.foo;在每个源文件的顶部声明足够相关以com.foo一起驻留在包中。Java编译器和运行时还将期望您将此类文件放置在path中com/foo/,该路径的根是类路径中的目录或JAR。
package com.foo;
com.foo
com/foo/
JAR文件使您可以 物理上 组织您的班级。您可以获取任何Java文件(以及它们的父目录,遵循上面讨论的目录结构),并将它们存储在JAR文件中。一个JAR文件可能包含属于多个软件包的文件,而多个JAR文件可能包含属于同一软件包的文件。因此,JAR文件在很大程度上是一种将多个类文件存储在单个物理文件中的方法。
JAR文件还有其他一些特殊特征。例如,您可以Main- Class在JAR清单中指定一个值,以指定哪个类是应用程序的入口点,并且可以将包密封在JAR文件中,“这意味着该包中定义的所有类都必须存储在同一文件中。 JAR文件。”
Main- Class