完整java來源程式結構:
package語句;//該語句至多一句
import語句; //該部分可以有若干import語句或者沒有,必須放在所有的類定義之前
public classDefinition; //公用類定義部分,至多隻有一個公用類的定義
//java語言規定該java來源程式的檔案名稱必須與該公用類名完全一致(日本java,腦殼有問題)
classDefinition; //類定義部分,可以有0個或者多個類定義
interfaceDefinition; //介面定義部分,可以有0個或者多個介面定義
package語句:java編譯器為每個類產生一個位元組碼檔案,且檔案名稱與類名相同,同名的類有可能發生衝突。為瞭解決這一問題,java提供包來管理類名空間,什麼是包呢,實際就是檔案夾。
在java的系統類別庫中,把功能相似的類放到一個包(package)中,例如所有的圖形介面的類都放在java.awt這個包中,與網路功能有關的類都放到java.net這個包中。使用者自己編寫的類(指.class檔案)也應該按照功能放在由程式員自己命名的相應的包中。
在命令列中敲入"javac -d f:/javaproject HelloWorldApp.java",則編譯產生的HelloWorldApp.class檔案將放在目錄f:/javaproject/javawork/helloworld/目錄下面,此時f:/javaprojcet相當於path。但是如果在編譯時間不指定path,則產生的.class檔案將放在編譯時間命令列所在的目前的目錄下面。比如在命令列目錄f:/javaproject下敲入編譯命令"javac HelloWorldApp.java",則產生的HelloWorldApp.class檔案將放在目錄f:/javaproject下面,此時的package語句相當於沒起作用。
但是,如果程式中包含了package語句,且編譯的時候在命令列下輸入"javac -d path HelloWorldApp.java",運行該程式有兩種方式:
第一種:在命令列下的path目錄下輸入字元"java p1.p2.HelloWorldApp"。
第二種:在環境變數classpath中加入目錄path,則運行時在任何目錄下輸入"java p1.p2.HelloWorldApp"即可。
不過要在有檔案的目錄下才能找到檔案,所謂包實際是組建檔案所在檔案夾。
import語句:如果在來源程式中用到了除java.lang這個包以外的類,無論是系統的類還是自己定義的包中的類,都必須用import語句標識,以通知編譯器在編譯時間找到相應的類檔案。Button是屬於包java.awt的,在編譯時間編譯器將從目錄classpath/java/awt中去尋找類Button。
java編程規範:
包名:包名是全小寫名詞,中間可以由點分隔開,例如:java.awt.event;
類名:首字母大寫,通常由多個單詞合成一個類名,要求每個單詞的首字母也要大寫,例如class HelloWorldApp;
介面名:命名規則與類名相同;
方法名:往往由多個單詞合成,第一個單詞通常為動詞,首字母小寫,中間的每個單詞的首字母都要大寫,例如:balanceAccount, isButtonPressed;
變數名:全小寫,一般為名詞,例如:length;
常量名:基礎資料型別 (Elementary Data Type)的常量名為全大寫,如果是由多個單詞構成,可以用底線隔開,例如:int YEAR, int WEEK_OF_MONTH;如果是物件類型的常量,則是大小寫混合,由大寫字母把單詞隔開。