java程序規範

引導語:學習Java語言要了解它的程序規範才能事半功倍,以下是本站小編分享給大家的java程序規範,歡迎閱讀學習!

java程序規範

 java程序規範

  1、java源程序結構

import entury; /*告訴編譯器本程序中用到用戶自定義

的包entury*/

public class HelloWorldApp{......} /*公共類HelloWorldApp的定義,

名字與文件名相同*/

class TheFirstClass{......} //第一個普通類TheFirstClass的定義

class TheSecondClass{......} //第二個普通類TheSecondClass的定義

...... //其它普通類的定義

interface TheFirstInterface{......} /*第一個接口

TheFirstInterface的定義*/

...... //其它接口定義

package語句:由於java編譯器爲每個類生成一個字節碼文件,且文件名與類名相同,因此同名的類有可能發生衝突。爲了解決這一問題,java提供包來管理類名空間,包實際提供了一種命名機制和可見性限制機制。而在java的系統類庫中,把功能相似的類放到一個包(package)中,例如所有的圖形界面的類都放在這個包中,與網絡功能有關的類都放到這個包中。用戶自己編寫的類(指s文件)也應該按照功能放在由程序員自己命名的相應的包中,例如上例中的oworld就是一個包。包在實際的實現過程中是與文件系統相對應的,例如oworld所對應的目錄是pathjavaworkhelloworld,而path是在編譯該源程序時指定的。比如在命令行中編譯上述文件時,可以在命令行中敲入"javac -d f:javaproject Hello ",則編譯生成的Hello s文件將放在目錄f:javaprojectjavaworkhelloworld目錄下面,此時f:javaprojcet相當於path。但是如果在編譯時不指定path,則生成的s文件將放在編譯時命令行所在的當前目錄下面。比如在命令行目錄f:javaproject下敲入編譯命令"javac ",則生成的s文件將放在目錄f:javaproject下面,此時的package語句相當於沒起作用。

但是,如果程序中包含了package語句,則在運行時就必須包含包名。例如,程序的第一行語句是:package p1.p2;編譯的時候在命令行下輸入"javac -d path ",則s將放在目錄pathp1p2的下面,這時候運行該程序時有兩種方式:

第一種:在命令行下的path目錄下輸入字符"java oWorldApp"。

第二種:在環境變量classpath中加入目錄path,則運行時在任何目錄下輸入"java oWorldApp"即可。

import語句:如果在源程序中用到了除這個包以外的類,無論是系統的類還是自己定義的包中的類,都必須用import語句標識,以通知編譯器在編譯時找到相應的類文件。例如上例中的是系統的包,而entury是用戶自定義的包。比如程序中用到了類Button,而Button是屬於包的,在編譯時編譯器將從目錄classpathjavaawt中去尋找類Button,classpath是事先設定的`環境變量,比如可以設爲:classpath=.;d:jdk1.3lib。classpath也可以稱爲類路徑,需要提醒大家注意的是,在classpath中往往包含多個路徑,用分號隔開。例如classpath=.;d:jdk1.3lib中的第一個分號之前的路徑是一個點,表示當前目錄,分號後面的路徑是d:jdk1.3lib,表示系統的標準類庫目錄。在編譯過程中尋找類時,先從環境變量classpath的第一個目錄開始往下找,比如先從當前目錄往下找中的類Button時,編譯器找不着,然後從環境變量classpath的第二個目錄開始往下找,就是從系統的標準類庫目錄d:jdk1.3lib開始往下找的Button這個類,最後就找到了。如果要從一個包中引入多個類則在包名後加上".*"表示。

如果程序中用到了用戶自己定義的包中的類,假如在上面程序中要用到entury包中的類HelloWorldApp,而包entury所對應的目錄是f:javaprojectjavaworknewcentury,classpath仍舊是classpath=.;d:jdk1.3lib,則編譯器在編譯時將首先從當前目錄尋找包entury,結果是沒有找到;然後又從環境變量classpath的第二個目錄d:jdk1.3lib開始往下找,但是仍然沒有找到。原因在於包entury是放在目錄f:javaproject下面。因此,需要重新設定環境變量classpath,設爲classpath=.;d:jdk1.3lib;f:javaproject 。所以編譯器從f:javaproject開始找包entury就可以找到。

源文件的命名規則:如果在源程序中包含有公共類的定義,則該源文件名必須與該公共類的名字完全一致,字母的大小寫都必須一樣。這是java語言的一個嚴格的規定,如果不遵守,在編譯時就會出錯。因此,在一個java源程序中至多隻能有一個公共類的定義。如果源程序中不包含公共類的定義,則該文件名可以任意取名。如果在一個源程序中有多個類定義,則在編譯時將爲每個類生成一個s文件。

 2、java編程規範

軟件開發是一個集體協作的過程,程序員之間的代碼是經常要進行交換閱讀的,因此,java源程序有一些約定成俗的命名規定,主要目的是爲了提高java程序的可讀性。

包名:包名是全小寫的名詞,中間可以由點分隔開,例如:t;

類名:首字母大寫,通常由多個單詞合成一個類名,要求每個單詞的首字母也要大寫,例如class HelloWorldApp;

接口名:命名規則與類名相同,例如interface Collection;

方法名:往往由多個單詞合成,第一個單詞通常爲動詞,首字母小寫,中間的每個單詞的首字母都要大寫,例如:balanceAccount, isButtonPressed;

變量名:全小寫,一般爲名詞,例如:length;

常量名:基本數據類型的常量名爲全大寫,如果是由多個單詞構成,可以用下劃線隔開,例如:int YEAR, int WEEK_OF_MONTH;如果是對象類型的常量,則是大小寫混合,由大寫字母把單詞隔開。