1.javac -d ./ dog.java 则是在当前目录下,即是 D:/(./
表示当前目录 ../
表示上一级目录 )
2.javac -d ../ dog.java 在上一个文件夹(上上级,这个例子路径太浅,不能实验)
3.javac -d ../ a dog.java 则是在上一个文件夹下的 a 文件夹下,但是一定要保证指定的文
件路径存在。
编译完之后,就应该使用执行命令 java 了。
使用命令:java dog 就可以运行了(当然这里使用的是这个例子: javac -d ./ dog.java )
注意:发现这里并没有使用-classpath 标注,那是因为没有使用到某些 jar 文件
即如果使用了 a.jar 则要加上-classpath .;a.jar
“
其中前面的那个 .;”我理解成是把环境变量
中配置的 jar 文件拿进来。
2、带包的一个 java 主程序
package my.friends;
public class cat{
public static void main(String[] args){
System.out.println("我是小猫");
}
}
javac -d ./ cat.java,这时候会在当前目录下自动根据包的结构形式创建文件目录,即创建
my/friends/文件夹,D:/test/my/friends/cat.class
执行:java my.friends.cat
3、同一个包的两个类 Joeytang.java 文件为
pakage my.friends
public class Joeytang{
public String toString(){ return "Joey"; } }
Sunnylu.java 文件为
pakage my.friends
public class Sunnylu{
public static void main(String[] args) {
Joeytang joey = new Joeytang();
System.out.println("I am Sunney."+joey+" is my friend.");
}
}
这种情况中 Sunnylu 类引用了 Joeytang 所以必须先编译 Joeytang 按照第二种情况将
Joeytang 编译,此时开始编译 Sunnylu,注意要使用 javac -classpath .; -d ./
Sunnylu.java,此时加入了-classpath 选项,我也不知道为什么,但是如果不加编译老是