Java|Class 結構:constructor、field、method



基本的 class 就好比模型組件,不過是可以客製數值的。

例如我設計了一款娃娃,由頭、軀幹、雙手、雙腳組成(field),
創造娃娃的時候要設定頭長、身長、手長、腳長(constructor),
創造出來以後,可以查詢娃娃從頭到腳的總長度、重設各部位長度(method)。


public class Doll {
        
    // the Doll class has 4 fields 
    public int head;                        // 頭長
    public int body;                        // 身長
    public double upperExtre;              // 上肢長
    public double lowerExtre;               // 下肢長
        
    // the Doll class has 1 constructor 
    public Doll (int iniHead, int iniBody, double iniUpperExtre, double iniLowerExtre) {
        head = iniHead;                            // 設定頭長
        body = iniBody;                            // 設定身長
        upperExtre = iniUpperExtre;        // 設定上肢長
        lowerExtre = iniLowerExtre          // 設定下肢長
    }
        
    // the Doll class has 5 methods 
    // 重設頭長
    public void setHead (int newHead) {
        head = newHead;
    }

    // 重設身長
    public void setBody (int newBody) {
        body = newBody;
    }

    // 重設上肢長
    public void setUpperExtre (double newUpperExtre) {
        upperExtre = newUpperExtre;
    }

    // 重設下肢長
    public void setLowerExtre (double newLowerExtre) {
        lowerExtre = newLowerExtre;
    }

    // 取得娃娃總長
    public double getDollLength() {
        return head + body + upperExtre + lowerExtre;
    }       
}


- Java Class 的結構(彙整自考古題)- 

  1. Class 中不一定需要 methods 和 fields
  2. Class / Method / Field 的名稱可以相同
  3. Class 中可以有 final static methods
  4. Class 中可以有 overloaded 的 static methods
  5. Class 中可以有 overloaded 的 private constructors
  6. Class 中可以沒有 main method,只是無法執行而已(public Class 也是)
  7. field 在使用前可以不用初始化
  8. method 中的變數(如未特別指定/處理),皆為區域變數
  9. import 同個 package 中的多個 class(或 interface 等)時,必須分開列



留言