我想每个刚开始学习Java的人,无论是通过上课学习,还是看视频自学又或者是看书自学,老师或者书上的内容应该都会在最开始的地方讲到如何下载Java和配置Java的环境变量。
但是后来随着IDE用的越来越多,对一些Java基础的部分就都开始淡忘了。现在快上大四的我,就来回顾一下Java的一些基本的概念。
什么是classpath?
总所周之,Java是一门面向对象的语言。当你在编写一个Java的代码的时候,肯定会使用到(调用)其他的类中的代码。这些类可以是JDK自带的标准库,也可以是第三方别人写的类,也可以是你自己写的类。这个时候你可以使用import
关键字来将这个类导入进来,从而使用这个类。
但是这个现在在编写的代码如何得知这个import
的类在什么位置呢?对,答案就是classpath
。
classpath
一般是在系统的环境变量中直接配置好的,一般会将JDK中rt.jar
,tools.jar
的jar包给classpath
,因为这两个jar包中包含了最基本的库文件,另外不要忘记的一点是把点号也就是本目录也放入。
比如说import java.io.File
这条语句的意思就是会在程序执行的时候,找classpath
路径下面的jar包中java文件夹下的io文件价的File.class
。
但是如果你是在命令行下面,想到指定另外一个jar包作为你的classpath
,那么可以像下面这样做。
>javac -cp bbb.jar ddd.java
>java -cp .:bbb.jar ddd
>java -cp .:/home/jack/lib/* ddd.java
>java -cp .:/home/jack/lib/*.jar ddd.java #error
- 第一条语句就是说在编译
ddd.java
的时候,会使用到bbb.jar
,不指定的话,会提示找不到symbol
之类的。 - 第二条语句是指在执行的时候,要注意的一点是要将本目录下面的点号也加入到
classpath
中。不然的话,会提示找不到或者加载不了类,因为命令行通过-cp
命令重新指定classpath
的时候,已经覆盖了系统的环境变量。 - 第三句话就是当有很多jar文件需要导入的时候,就可以使用这种语法来进行jar包的导入。但是切记不要使用第四句这种方式,是错误的。
最后
本人能力有限,如果错误,请指正。如果有一些帮助,请点击喜欢按钮,或者评论交流,谢谢
网友评论