Java中帶package類的編譯方法

Demo.java

package pac;
public class Demo {
      public static void main(String args[]) {
          System.out.println("Hello!");
      }
}
如何編譯上面這個類。

首先要分清編譯和運行,編譯只需要編譯文件名,如上,則爲:javac  Demo.java,但只有在這個文件的當前目錄下才能編譯,否則連文件都找不到。編譯完後當前目錄下會生成一個.class文件。但運行要怎麼辦呢?用java  Demo顯然是不行的,因爲此時pac.Demo纔是這個類的全名,也就是說pac這個文件夾加上Demo.class文件構成了這個類,因此要手動建立包層,在當前目錄下創建pac文件夾,把Demo.class文件放到pac文件夾中才能運行。

麻煩的地方就在於要手動創建文件夾,所以得學會用參數來編譯文件。用javac  -d  .  Demo.java(注意中間有一點以及點兩邊是空格),系統會自動幫我們建立包層,在當前目錄下生成pac/Demo.class。網絡上介紹了很多方法,但個人認爲其實只要會這一種就行了。這種方法形式上跟編譯不帶package的類是一樣的,只是多了一個參數。之後想要運行就要用java pac.Demo,因爲此時pac文件的Demo.class已經合在一起成爲一個新類。

初學者可能容易搞暈,對於不帶package的類,我們編譯完後.java和.class文件會共存在當前目錄下,而對於帶package的類,我個人是把包層(文件夾)和Demo.class文件當成一個整體類,這樣仍然是.java文件和一個.class文件(層層包裹)共存在當前目錄下。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章