一個java源檔案中至多有一個public類,該類的名稱必須與源檔案名稱相同。也可以沒有public類,檔案名與任意一個類名一緻即可。
類似于cpp的namespace,是對類的再封裝,防止命名沖突。
java包的命名規則全部使用小寫字母。
定義包: package likeyichu.com;
導入包中的類: import likeyichu.com.cc; //(必須具體到類,不能隻導入包)
示例:

在定義包的時候,實際上就指定了你的源檔案的存放位置。如包名為"com.likeyichu"時, 該源檔案就在 projectname\src\com\likeyichu下。
含有源檔案的檔案夾被“包括進”建構路徑時才被了解為"包“,不然不能編譯。見下圖。
源檔案中沒有package語句時,實際上相當于建立了預設包。
如果将main函數寫為 public static void main()會報錯:
在類 xxx 中找不到 main 方法, 請将 main 方法定義為:
public static void main(string[] args)
假設有helloworld.class,那麼運作 java helloworld arg0,arg1,arg2 。則args[]的值分别為 arg0,arg1,arg2。
java運作程式是一組可以打包成為一個jar檔案的.class檔案。java解釋器負責這些檔案的查找、裝載和解釋。
注意:java中并不強求必須使用解釋器。因為存在生成可執行檔案的java編譯器。
.java->.class 之後,既可以交給jvm解釋執行,也可以用第三方軟體(如exe4j)生成.exe。即便是使用jvm,它也有jit,just in time,即時編譯技術。使用該技術,能夠加速java程式的執行速度。 原理如下:
運作時,部分代碼可能由jit翻譯為目标機器指令(以method為翻譯機關,還會儲存起來,第二次執行就不用翻譯了)直接執行,故java的效率要比一般的解釋性語言高的多。
以eclipse kepler版本為例。
1.先右擊想運作的含有main()函數的.java檔案,運作一遍,這樣如圖所示位置就有launch的資訊了。
2.右擊項目名,導出為可執行jar包,在launch configuration中選擇自己想要的一項。