Java中的类路径
Java中的包是一种封装一组类、子包和接口的机制。包用于:
- 防止命名冲突。例如,在两个包中可以有两个名为 Employee 的类,college.staff.cse.Employee 和 college.staff.ee.Employee
- 使类、接口、枚举和注释的搜索/定位和使用更容易
- 提供受控访问:受保护和默认具有包级别的访问控制。同一包中的类及其子类可以访问受保护的成员。默认成员(没有任何访问说明符)只能由同一包中的类访问。
包可以被认为是数据封装(或数据隐藏)。在这里,我们将讨论在Java中编程时 CLASSPATH 环境变量的责任,因为我们肯定会在短期内使用导入语句。
插图:
import org.company.Menu
这个导入是什么意思?它使包 org.company 中的 Menu 类对我们当前的类可用。这样当我们如下调用以下命令时:
Menu menu = new Menu();
例子
Java
// Java Program to Illustrate Usage of importing
// Classes from packages and sub-packages
// Here we are importing all classes from
// java.io (input-output package)
import java.io.*;
// Main class
class GFG {
// Main driver method
public static void main(String[] args)
{
// Print statement
System.out.println("I/O classes are imported from java.io package");
}
}
I/O classes are imported from java.io package
该包通过数据流、序列化和文件系统提供系统输入和输出。除非另有说明,否则将 null 参数传递给此包中任何类或接口中的构造函数或方法将导致抛出 NullPointerException。此处列出的所有类都是导入的,或者如果我们要导入特定的类,请按如下所述使用它。
import java.util.Scanner ;
The JVM knows where to find the class Menu. Now, how will the JVM know this location?
遍历系统上的每个文件夹并搜索它是不切实际的。因此,使用 CLASSPATH 变量,我们为它提供了我们希望它查看的位置。我们将目录和 jars 放在 CLASSPATH 变量中。
假设上面的包位于目录dir中。 Menu类文件的完整路径是dir/org/company/Menu。我们将仅在类路径变量中指定目录dir ,因为有关路径的其余信息由 import 语句提供。 jar 类似,如果您创建一个 jar 并在变量中提及其路径,VM 将在 jar 文件中查找并找到该类。
一个人应该知道如何设置一个类路径,如果在配置 JDK 之后没有完成操作系统,以便查看它或查看它并玩多个 IDE,版本游戏。必须对它有一个绝对清晰的认识。