84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
我这里指定了lee包,生成了一个lee文件夹,在lee文件夹下生成了class文件,现在问题有三个:1.请问为什么我不能进入lee文件夹下,使用java Hello的方式运行?2.是否一定需要在Hello.java的同级目录下,使用java lee.Hello的方式?能否在lee文件夹下,采用java lee.Hello的方式运行?3.编译的时候,如果将class文件存到别的文件夹,我运行的时候,是否一定需要在源文件的目录下,指定class文件的路径再运行?
人生最曼妙的风景,竟是内心的淡定与从容!
Hello只是这个java文件的简单名称,带上包名lee.Hello叫做這個檔案的全限定名。
Hello
lee.Hello
例如,我在test包下面也有一个叫做Hello的java文件,在沒有包名的情況下是無法區分,而且JDK也是透過這種方式來確定唯一的java文件。
test
java命名規則在檔案系統中是使用層級目錄來表示套件結構,例如a.b.c.foo在文件系统中是a/b/c/foo這樣的資料夾來儲存。
a.b.c.foo
a/b/c/foo
現在來回答上面的問題1.因為全限定名的規則,Hello在JDK中的名稱就是lee.Hello。Hello在JDK中的名称就是lee.Hello。2.应该是要在lee文件夹的上一级目录中执行java lee.Hello,原因和1相同。3.只要class2.應該是要在lee資料夾的上一層目錄中執行java lee.Hello,原因和1相同。
java lee.Hello
class
Hello
只是这个java文件的简单名称,带上包名lee.Hello
叫做這個檔案的全限定名。例如,我在
test
包下面也有一个叫做Hello
的java文件,在沒有包名的情況下是無法區分,而且JDK也是透過這種方式來確定唯一的java文件。java命名規則在檔案系統中是使用層級目錄來表示套件結構,例如
a.b.c.foo
在文件系统中是a/b/c/foo
這樣的資料夾來儲存。現在來回答上面的問題
3.只要1.因為全限定名的規則,
Hello
在JDK中的名稱就是lee.Hello
。Hello
在JDK中的名称就是lee.Hello
。2.应该是要在lee文件夹的上一级目录中执行
java lee.Hello
,原因和1相同。3.只要
class
2.應該是要在lee資料夾的上一層目錄中執行java lee.Hello
,原因和1相同。class
檔案外層檔案層級結構和套件的命名規則相同,就可以執行。