當前位置:才華齋>計算機>java語言>

java程式的規範

java語言 閱讀(1.91W)

學習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:javaprojectjavaworkewcentury,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;如果是物件型別的常量,則是大小寫混合,由大寫字母把單詞隔開。