}
}
用javac去编译它,得到.class文件。
# 步骤 3 目前的情况
目录结构是这样的:
我们的程序在java18文件夹,现在想要调用tool文件夹中的StringUtil里面的newLine方法。
修改Demo.java
class Demo {
public static void main(String[] args){
StringUtil.newLine(“StringUtil -> newLine”);
}
}
编译代码:
说是找不到符号,也难怪,JVM怎么知道有一个StringUtil类呢?
# 步骤 4 CLASSPATH
如果你学过java,有一定的Java基础,那么你一定知道CLASSPATH的大名。所谓的CLASSPATH,是class和path两个单词,表示“类路径”。就是你告诉JVM,哪些文件夹是我存放类(class文件)的路径。
这个玩意,也是需要配置环境变量的,还记得配置JDK环境变量的步骤吗?
现在来配置CLASSPATH环境变量,如果不记得,可以回去看下之前的章节。
# 步骤 5 具体配置
我们一般都是admin用户登录的,所以直接新建系统变量,我们把D盘根目录配置进去,还有一个句点。
D:;.;
左边的D:\代表D盘根目录,右边的小句点,代表当前的那个目录。比如你要在java18文件夹里面去java一下Demo,那么JVM得需要知道当前的目录是java18文件夹。
CLASSPATH这玩意,你要么不配置,不配置就默认是当前目录,一旦配置了,就别忘记加个小点号。
我怕大家不明白,再啰嗦一下,这个配置的意思就是所有的类路径。我们这样配置了以后,JVM会去把D盘根路径,还有你执行程序的当前目录当做根路径,这个待会还会细说。
# 步骤 6 package
D盘的根目录是我们的类路径,已经配好了。可是StringUtil不在D盘的根目录啊,而在D盘里面一个叫做tool的文件夹。为了让JVM能够知道,我们还得修改StringUtil,加上package。
package tool;
class StringUtil
{
public static void newLine(String msg){
System.out.println(msg);
}
}
# 步骤 7 验证
tool文件夹也叫做包,现在我们来做验证,给StringUtil加一个main方法。
package tool;
class StringUtil
{
public static void newLine(String msg){
System.out.println(msg);
}
public static void main(String[] args){
newLine(“StringUtil”);
}
}
用EditPlus的Ctrl+1编译,然后在外面打开CMD黑窗口,不需要进入D盘,直接输入命令。
tool.StringUtil,这个“.”很有灵性,JVM会把“.”翻译成\。因为CLASSPATH里面有D:\,所以最终找到的位置是:D:\tool\StringUtil
这下,就很清楚了吧。
# 步骤 8 亲自做一遍
强烈建议把上面的实验自己做一遍,我相信很多人都不注重这个原理,因为IDEA真香。但是吧,身为程序员,还是要知道一点的,以后出去吹牛逼也有东西不是?
# 步骤 9 为什么现在用Editplus运行报错了?
你可以试一下,在Editplus里面运行StringUtil,会报错的。
原因很简单,因为你加了package
最后
按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
,这些完全可以放到以后工作中边用别学。
学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。
“道路是曲折的,前途是光明的!”
[外链图片转存中…(img-tXfEoo5s-1721140356389)]
[外链图片转存中…(img-oVNm9XLo-1721140356389)]