background image

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 选项,我也不知道为什么,但是如果不加编译老是