7-2 類別的產生
7-2-1 類別宣告語法 - class 本書於第八章有稍稍介紹類別宣告的語法,但並不完整,這裡再重新詳細介紹,語法與範例如下:
宣告類別包含類別本身(class body)、類別內的變數成員(class variable)、以及方法成員(class method)等三種元素,這三種元素都可分別宣告其屬性。 屬性有共通的表現方法,即是宣告語法前面有一個修飾字(modifier)選項(中括號 [ ] 表示選項的意思),表示該類別(或類別成員、類別方法)可以被存取的屬性宣告。類別與方法成員的修飾字有 public 與 private等兩種,變數成員有 public、private 與 protected 三種屬性格式,說明如下: (1) public: 公開性。如果類別或成員(方法或變數)被宣告成 public型態,則表示它可以被任意呼叫使用。 (2) private:私有性。如果類別或成員(方法或變數)被宣告成 private型態,則表示只允許類別內的方法才可以呼叫或使用。 (3) protected:保護性。如果變數成員(僅變數成員適用)被宣告成 protected 型態,則表示該成員可以被原類別所衍生出來的類別存取。 7-2-2 方法成員的宣告 如果類別內的方法是針對類別變數處理的話,則該類別所衍生的物件就成為一個很堅固的結構資料;如果是針對某一種特殊功能所設計方法的話,則該類別所衍生出來的物件,便成為專屬功能的函數了。由此可見,方法成員即是實現物件功能的主要藍圖。方法成員的宣告語法如下:
重點說明如下: (1) 修飾字(modifier)可能是 public 或 private,如沒有標明,則為 public。 (2) return_type(傳回值資料型態)可能是某一基本資料型態(如 int、char, ..),或參考資料型態(如 String 或其他物件型態)。 (3) method_name 為該方法的名稱。 (4) 引數值(arguments)表示呼叫此方法時,傳遞給該方法數值的資料型態與變數。 (5) method_body 為該方法的主體實現,其中可能包含該主體內的變數宣告(區域變數)與其他程式控制(如 if/while, …)。 7-2-3 變數成員的宣告 在物件導向程式裡,變數成員代表著許多重大的意義,可能是描述某一真實物件的屬性,這些屬性都代表著某一特別的參數。簡單的說,類別變數的集合就好像 C 語言的結構變數一樣的功能。宣告語法與範例如下:
重點說明如下: (1) 修飾字(modifier)可能是 public、private 或 protected,如沒有標明,則為 public。 (2) data_type:變數成員的資料型態,可能是 int、float、double、char、String...等 或由另一個類別產生的物件。 (3) variable_name:變數成員的名稱。 7-2-4 主方法的宣告 – main() 一個完整的程式,可能由多個類別所建構而成,然而每一個類別裡也許又包含了若干個方法,當這個程式被啟動時,到底是由哪一個類別中的哪一個方法開始執行?Java 程式與 C 程式語言都是由 main() 程序(Java 稱為方法),啟動開始執行。但 Java 程式有較特殊的地方,因為它是由多個類別所構成,必須指名是哪一個類別底下的方法,因此類別名稱必須與檔案名稱相同;範例如下:
重點說明如下: (1) 檔案名稱(Hello.java)必須與類別名稱(Hello)相同。 (2) 類別的修飾字必須是 public,表示允許外部呼叫使用。 (3) main 方法的修飾字必須是 public static,其中 static 表示 main() 是類別方法(不必利用 new() 呼叫產生,容後介紹),並且可以任意被呼叫(public)。 (4) void 表示不會傳回任何值。 (5) String args[] 表示允許以 String 型態帶入引數。 (6) 也就是說 public static void main(String args[]) 標頭是缺一不可的。
|
翻轉工作室:粘添壽
Java 程式設計(二) 含物件導向
翻轉電子書系列:
|