Java 程式設計()  第 七章 類別與物件產生  上一頁    下一頁

 

7-2 類別的產生

內容:

  • 7-2-1 類別宣告語法 - class

  • 7-2-2 方法成員的宣告

  • 7-2-3 變數成員的宣告

  • 7-2-4 主方法的宣告 - main()

7-2-1 類別宣告語法 - class

本書於第八章有稍稍介紹類別宣告的語法,但並不完整,這裡再重新詳細介紹,語法與範例如下:

類別及成員宣告語法:

範例:

[modifier] class class_name {

[modifier] declaration variable 1;

[modifier] declaration variable 2;

…..

[modifier] declaration method 1;

[modifier] declaration method 2;

….

}

public class Employee {

private int ID;

String name;

…….

int getID() { …..}

void setID(int i) { ….}

……

}

宣告類別包含類別本身class body)、類別內的變數成員class variable)、以及方法成員class method)等三種元素,這三種元素都可分別宣告其屬性。

屬性有共通的表現方法,即是宣告語法前面有一個修飾字(modifier)選項(中括號 [ ] 表示選項的意思),表示該類別(或類別成員、類別方法)可以被存取的屬性宣告。類別與方法成員的修飾字有 public private等兩種,變數成員有 publicprivate protected 三種屬性格式,說明如下:

(1) public 公開性。如果類別或成員(方法或變數)被宣告成 public型態,則表示它可以被任意呼叫使用。

(2) private:私有性。如果類別或成員(方法或變數)被宣告成 private型態,則表示只允許類別內的方法才可以呼叫或使用。

(3) protected:保護性。如果變數成員(僅變數成員適用)被宣告成 protected 型態,則表示該成員可以被原類別所衍生出來的類別存取。

7-2-2 方法成員的宣告

如果類別內的方法是針對類別變數處理的話,則該類別所衍生的物件就成為一個很堅固的結構資料;如果是針對某一種特殊功能所設計方法的話,則該類別所衍生出來的物件,便成為專屬功能的函數了。由此可見,方法成員即是實現物件功能的主要藍圖。方法成員的宣告語法如下:

宣告方法成員語法:

範例:

[modifier] retrun_type method_name ([arg]{

….

method_body

…..

}

int setPay(int pay) {

if (pay <158000) {

    System.out.printf(“底薪太低\n”);

    retrun 0;

}

else

     payment = pay; return 1;

}

重點說明如下:

(1) 修飾字(modifier可能是 public private,如沒有標明,則為 public

(2) return_type(傳回值資料型態)可能是某一基本資料型態(如 intchar, ..),或參考資料型態(如 String 或其他物件型態)。

(3) method_name 為該方法的名稱。

(4) 引數值(arguments表示呼叫此方法時,傳遞給該方法數值的資料型態與變數。

(5) method_body 為該方法的主體實現,其中可能包含該主體內的變數宣告(區域變數)與其他程式控制(如 if/while, …)。

7-2-3 變數成員的宣告

在物件導向程式裡,變數成員代表著許多重大的意義,可能是描述某一真實物件的屬性,這些屬性都代表著某一特別的參數。簡單的說,類別變數的集合就好像 C 語言的結構變數一樣的功能。宣告語法與範例如下:

類別及成員宣告語法:

範例:

data_type variable_name;

[modifier] data_type variable_name;

String name;

private int ID;

重點說明如下:

(1) 修飾字(modifier可能是 publicprivate protected,如沒有標明,則為 public

(2) data_type:變數成員的資料型態,可能是 intfloatdoublecharString... 或由另一個類別產生的物件。

(3) variable_name:變數成員的名稱。

7-2-4 主方法的宣告 – main()

一個完整的程式,可能由多個類別所建構而成,然而每一個類別裡也許又包含了若干個方法,當這個程式被啟動時,到底是由哪一個類別中的哪一個方法開始執行?Java 程式與 C 程式語言都是由 main() 程序(Java 稱為方法),啟動開始執行。但 Java 程式有較特殊的地方,因為它是由多個類別所構成,必須指名是哪一個類別底下的方法,因此類別名稱必須與檔案名稱相同;範例如下:

//Hello.java

public class Hello {

    public static void main(String[] args) {

          System.out.println("Hello !! Your welcome");

          System.out.println(“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 程式設計(二) 含物件導向

 

 

翻轉電子書系列: