如何在运行时从文件夹或 Java 包加载类


使用 CLASSPATH,您可以在运行时加载任何类。

与 .java 源文件一样,编译后的 .class 文件应该位于一系列反映包名的目录中。但是,.class 文件的路径不必与 .java 源文件的路径相同。您可以分别安排源目录和类目录,如下所示:

<path-one>\sources\com\apple\computers\Dell.java
<path-two>\classes\com\apple\computers\Dell.class

通过这样做,可以向其他程序员提供对类目录的访问权限,而无需公开您的源代码。您还需要以这种方式管理源文件和类文件,以便编译器和 Java 虚拟机 (JVM) 能够找到程序使用的所有类型。

类目录的完整路径,<path-two>\classes,称为类路径,并使用 CLASSPATH 系统变量设置。编译器和 JVM 都通过将包名添加到类路径来构造 .class 文件的路径。

假设 <path-two>\classes 是类路径,包名是 com.apple.computers,那么编译器和 JVM 将在 <path-two>\classes\com\apple\computers 中查找 .class 文件。

类路径可以包含多个路径。多个路径应该用分号 (Windows) 或冒号 (Unix) 分隔。默认情况下,编译器和 JVM 搜索当前目录和包含 Java 平台类的 JAR 文件,以便这些目录自动位于类路径中。

更新于:2020年2月4日

735 次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告