JAR和包之间有什么区别?

use*_*949 6 java packages jar

JAR文件和包之间有什么区别吗?

ide*_*ide 14

包是一种逻辑组织类的方法.例如,您可以package com.foo;在每个源文件的顶部声明足够相关的源文件com.foo.Java编译器和运行时还希望您将此类文件放在路径中com/foo/,此路径的根目录是类路径中的目录或JAR.

JAR文件允许您物理组织您的类.您可以获取任何Java文件(及其父目录,尊重上面讨论的目录结构)并将它们存储在JAR文件中.JAR文件可能包含属于多个包的文件,多个JAR文件可能包含属于同一个包的文件.因此,JAR文件很大程度上是将多个类文件存储在单个物理文件中的一种方法.

JAR文件还有一些其他特殊功能.例如,您可以Main-Class在JAR清单中指定一个值来指定哪个类是应用程序的入口点,并且可以将包密封在JAR文件中,"这意味着该包中定义的所有类必须在同一个文件中存档JAR文件."

  • 注意,通常将类文件放入jar而不是Java文件.</挑剔> (4认同)

Ric*_*nka 6

包是 Java 中用于将类组织到命名空间中的一种机制。jar 是一个 Java 档案,一个将多个 Java 类聚合为一个的文件。