假设两个文件:

D:\workspace\com\A.java
D:\workspace\com\B.java
两个文件都有:
package com;
如何编译运行?
进入D:\workspace路径下,输入:
javac com\A.java com\B.java -d .
红色为源文件路径,蓝色为输出路径。
则在生成两个文件:
D:\workspace\com\A.class
D:\workspace\com\B.class
注意:
-d 后面是 空格 +
点的意思是,在 .java 文件的根目录,为了方便也可以采用:
javac com\*.java -d .
运行时,在包路径的根目录上运行,比如:在 D:\workspace 路径下,输入:
java com.A
java com/A
 
如果当前路径是 C:\ 或其他路径,那么
编译:
javac -cp D:\workspace D:\workspace\com\*.java -d .
运行:
java -cp D:\workspace com.A
 
总结
1、把包看成是源文件的一部分,而不是一个路径,这点很重要。
2、如果不加 -cp 标志,则路径为环境变量和当前路径,如果加 -cp 标志,则路径为cp指定的路径和当前路径。