假设我们已经安装好JDK和JRE,并且已设置好path和classpath。也就是能够运行简单源文件(不包含package语句和import语句)。
现在学习package语句和import语句的学习。
首先,学习package语句。
假设已有一个存放在D:/src下的源文件HelloWorld.java即如图:

HelloWorld.java源程序:
package classes.world;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
运行cmd开始编译和运行。
法一:
进入 D:/ 输入命令:javac -d . src/HelloWorld.java
输入命令java classes.world.HelloWorld。结果输出Hello World
如图:

对命令javac -d . src/HelloWorld.java 的解释:-d .是中划线、d、空格、点,表示在当前目录下。src/HelloWorld.java
表示src文件夹下的HelloWorld.java。整条命令的意思是在当前目录下(在本程序中是D:/)编译src文件夹下的HelloWorld.java,结合源文件HelloWorld.java中的package语句:package classes.world;就会在D盘下生成文件夹classes并在classes下生成文件夹world,在world下生成文件HelloWorld.class。如图

因为我们是在D盘下编译,所以如果要运行得到结果就要输入.class文件的路径(我们已经在D盘下,就只要输入classes.world.HelloWorld)。
法二:
如果进入D:/src编译,输入javac -d . HelloWorld.java这时会在src下生成文件夹classes,在classes下生成文件夹world,在world生成文件HelloWorld.class要运行的话输入命令:
java classes.world.HelloWorld。如图:

假如在D:/src下输入命令:javac HelloWorld.java生成的HelloWorld.class出现在和源文件HelloWorld.java所处的同一文件夹下,此时package语句不起作用,而且输入命令:java HelloWorld,就会出现如图所示的异常:

法三:
在javac编译时,可用-d 指明.class文件存储路径,运行时前必须添加类路径(classpath)或者进入.class文件所在磁盘指明路径后运行或者直接进入.class文件所在文件夹运行。
这三种情况下的命令分别是:
①在D盘下操作:
javac -d E:/ src/Helloworld.java
退出D盘进入E盘操作:
运行命令:java classes.world.HelloWorld
整个过程如图:

②添加类路径,比如:classpath=E:/ 后,
在D盘下操作:
javac –d E:/ src/HelloWorld.java
运行命令java classes.world.HelloWorld。
也可以在D:/src下操作:
javac -d E:/ HelloWorld.java
运行命令:java classes.world.HelloWorld。
过程如图:

从上面的过程,可以体会classpath的作用:指明所要引用类后所要运行类文件的基本路径。
关于package的作用,其中的一个作用:运用package可以分开管理源文件和类文件,在其他人引用时,只能见到类文件,而看不到源文件,保护源文件不被修改。
本人是一初学者,以上想法难免有不当,不准确和错误之处,希望大家多多包涵,欢迎批评指正。
也欢迎交流讨论,
我的qq:348737102
e-mail:Shang_023@126.com