JAVA初步

Java語言是面向對象的程序設計語言,Java程序的基本組成單元是類,類體中又可包括屬性與方法兩部分。而每一個應用程序都必須包含一個main()方法,含有main()方法的類稱之為主類。

 

一. Java程序的主類及其格式

 

作為一個可以獨立運行的Java程序,在它的眾多類中必須要有一個類作為程序的起始類,為瞭方便,本書把這個類稱為主類。當需要執行一個程序時,人們在java命令後面輸入的便是這個主類的文件名(也是主類名),因此主類文件是Java運行環境建立起來之後第一個被裝入虛擬機的用戶文件。為瞭使虛擬機可以找到程序運行的起始入口,主類必須為public類,並含有一個在格式上符合約定的入口方法main(),其格式如下:

public static void main(String[] args){

}

其中各參數含義如下。

main:入口方法名稱。

args:命令行參數,這是一個String對象數組。

static:修飾字,說明main()是一個靜態方法(類方法)。

public:修飾字,說明main()具有公有訪問屬性。

於是,主類框架的源代碼如下:

public class 主類名{

public static void main(String[] args){

}

}

Java程序的主類常常使熟悉C/C++的讀者感到迷惑:main()方法不就相當於C/C++程序中的主函數嗎,為什麼非得把它放到一個類裡,難道它有什麼不同嗎?

沒錯,Java類中main()方法就相當於C/C++程序中的主函數,是一個入口函數。之所以把它封裝到一個類裡,而不像C/C++那樣單獨作為一個函數來處理,就本書作者的理解,大概Java的設計者們有如下幾個方面的考慮。

1)Java既然把所有事物都看成瞭對象,那麼就沒有理由不把程序也看成對象,因為程序也是一種事物。既然是對象,那麼它就應該屬於某個類並以程序名來命名。既然程序是一種類,那麼main()就應該是這個類的一個方法,隻不過它有些特殊,它是一個入口方法,並且對它有些特殊規定,例如其名稱必須為main(),必須是公有靜態方法,有命令行參數等。

2)如果把程序封裝成瞭類,那麼包括本程序在內的任何程序就都可以根據需要,隨時創建這個類的對象,並通過該對象使用這個類中的資源,這樣就便於資源共享,從而提高程序的靈活性。

3)Java程序是一種以類為基本單位的模塊化程序,程序被編譯後,每一個類會對應生成一個二進制字節碼類文件。如果把程序也封裝成類,那麼它的文件就與其他類文件統一起來,而不會產生其他類型的文件,因而便於管理。

4)之所以把入口方法封裝到類中,其根本目的就是要盡可能平等地看待所有的類。因為Java的最終目的是要以類為基本模塊來實現可裝配軟件,如果把main()方法封裝到瞭一個類中,那麼就意味著main()與類的其他方法沒什麼本質區別,隻不過是分工不同而已。下面很快就會看到,Java的所有類都可以含有一個入口方法而成為主類。也就是說,在Java程序中根本就沒有主類、次類之分,這裡之所以把帶有main()方法的類稱為主類,是為瞭表達方便。

 

二. JAVA源程序在命令行下的運行

 

[java] view plaincopy

class Bank{   

    public void init(){  

        System.out.println("Yes,I can");  

    }  

    public static void main(String args[]){   

        BankAccount ba1 = new BankAccount(100.00);  

        System.out.print("Before transactions, ");  

        ba1.display();  

        ba1.deposit(74.35);  

        ba1.withdraw(20.00);  

        System.out.print("After transactions, ");  

        ba1.display();  

        Bank b = new Bank();  

        b.init();  

    }  

}   

class BankAccount{  

    private double balance;  

      

    public BankAccount(double openingBalance){  

        balance = openingBalance;  

    }  

    public void deposit(double amount){  

        balance += amount;  

    }  

    public void withdraw(double amount){  

        balance -= amount;  

    }  

    public void display(){  

        System.out.println("balance = " + balance);  

    }  

}  

 

 

                    生成的2個class文件     

 

二. 完整的java源程序應該包括下列部分:

 

  package語句;

 

  import語句;

 

  public classDefinition; // 公共的類定義部分,至多隻有一個公共類的定義

 

             // java語言規定該java源程序的文件名必須與該公共類名完全一致

 

  classDefinition; // 類定義部分,可以有0個或多個

 

  interfaceDefinition; // 接口定義部分,可以有0個或多個

 

 

 

package:java編譯器為每個類生成一個字節碼文件,且文件名與類名相同,這就會帶來一個問題:同名的類會發生沖突。package便可管理類命名空間。

 

     一般地,具有相同功能的類放在一個package中。

 

 

 

一個java源程序至多隻能有一個公共類的定義。

 

若java源程序有一個公共類的定義,則該源文件名字必須與該公共類的名字完全相同。

 

若源程序中不包含公共類的定義,則該文件名可以任意取名。

 

若一個源程序中有多個類定義,則在編譯時將為每個類生成一個.class文件。

 

 

 

 

 

三.java編程規范

 

包名:全小寫的名詞,中間可由點分割,eg:java.awt.event

 

類名:首字母大寫,多個單詞合成,每個單詞首字母也要大寫,eg: class HelloWorldApp

 

接口名: 同類名,eg: interface Collection

 

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

 

變量名: 全小寫,一般為名詞,eg: length

 

常量名: 基本數據類型的常量名為全大寫,如果由多個單詞構成,可以用下劃線隔開,eg: int YEAR, int WEEK_OF_MONTH

 

     對象類型的常量,則是小寫混合,由大寫字母把單詞隔開

 

 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *