基本的 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 的結構(彙整自考古題)-
- Class 中不一定需要 methods 和 fields
- Class / Method / Field 的名稱可以相同
- Class 中可以有 final static methods
- Class 中可以有 overloaded 的 static methods
- Class 中可以有 overloaded 的 private constructors
- Class 中可以沒有 main method,只是無法執行而已(public Class 也是)
- field 在使用前可以不用初始化
- method 中的變數(如未特別指定/處理),皆為區域變數
- import 同個 package 中的多個 class(或 interface 等)時,必須分開列
留言
張貼留言