java - 关于包的问题
黄舟
黄舟 2017-04-18 10:34:27
0
1
214


我这里指定了lee包,生成了一个lee文件夹,在lee文件夹下生成了class文件,现在问题有三个:
1.请问为什么我不能进入lee文件夹下,使用java Hello的方式运行?
2.是否一定需要在Hello.java的同级目录下,使用java lee.Hello的方式?能否在lee文件夹下,采用java lee.Hello的方式运行?
3.编译的时候,如果将class文件存到别的文件夹,我运行的时候,是否一定需要在源文件的目录下,指定class文件的路径再运行?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回覆 (1)
洪涛

Hello只是这个java文件的简单名称,带上包名lee.Hello叫做這個檔案的全限定名

例如,我在test包下面也有一个叫做Hello的java文件,在沒有包名的情況下是無法區分,而且JDK也是透過這種方式來確定唯一的java文件。

java命名規則在檔案系統中是使用層級目錄來表示套件結構,例如a.b.c.foo在文件系统中是a/b/c/foo這樣的資料夾來儲存。

現在來回答上面的問題
1.因為全限定名的規則,Hello在JDK中的名稱就是lee.HelloHello在JDK中的名称就是lee.Hello
2.应该是要在lee文件夹的上一级目录中执行java lee.Hello,原因和1相同。
3.只要class2.應該是要在lee資料夾的上一層目錄中執行java lee.Hello,原因和1相同。

3.只要 class檔案外層檔案層級結構和套件的命名規則相同,就可以執行。
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!