Java CLASSPATH
Java中的包是一种封装一组类、子包和接口的机制。包的作用是。
- 防止命名冲突。例如,在两个包中可以有两个名字为Employee的类,college.staff.cse.Employee和college.staff.ee.Employee。
- 使类、接口、枚举和注解的搜索/定位和使用更容易。
- 提供可控的访问:受保护的和默认的都有包级的访问控制。一个受保护的成员可以被同一包内的类和它的子类访问。一个缺省的成员(没有任何访问指定符)只能被同一包中的类访问。
包可以被认为是数据封装(或数据隐藏)。在这里,我们将讨论在Java中编程时CLASSPATH环境变量的责任,随着我们的前进,我们肯定会在短时间内需要使用导入语句。
示例
这个导入是什么意思?它使包org.company中的Menu类对我们当前的类可用。这样,当我们调用下面的命令时,如下所示。
例子
输出
这个包通过数据流、序列化和文件系统提供了系统输入和输出:除非另有说明,在这个包的任何类或接口中,向构造函数或方法传递一个空参数将导致一个NullPointerException被抛出。这里列出的所有类都被导入了,或者如果我们想导入一个特定的类,那么就按照下面的说明使用它。
JVM知道在哪里可以找到类Menu现在,JVM如何知道这个位置呢?
让它在系统中的每一个文件夹中去寻找它是不现实的。因此,使用CLASSPATH变量,我们向它提供了我们希望它寻找的地方。我们把目录和罐子放在CLASSPATH变量中。
比方说,上述包驻扎在目录dir.Menu类文件的完整路径是dir/org/company/Menu
。我们只在classpath变量中指定目录dir ,因为其余有关路径的信息都由import语句提供。与jar类似,如果你创建了一个jar并在变量中提到它的路径,虚拟机将在jar文件中寻找类。
人们应该知道如何设置classpath,如果在配置JDK后没有做,在尊重操作系统的情况下,为了看到它或到它,并与多个IDE、版本游戏一起玩。人们必须对它有一个绝对清晰的了解。