Object Method
物件、方法
Class 類別
物件導向程式設計寫作時的主體是Class(類別),Class內定義了屬於該類別的Object(物件)特性。Object特性分類:
1.Object產生時呼叫的方法稱為Constructor(建構子)。
2.Object消滅時呼叫的方法稱為Destructor(解構子)。
3.Object內部宣告的變數,稱為Object Variable(物件變數)。
4.Object接收訊息的方式,稱為Oject Method(物件方法)。
5.Object Variable & Object Method合稱為Object Member(物件成員:物件變數、物件方法)。
6.在Class內宣告的變數,稱作Class Variable(類別變數)。
7.屬於Class的方法,稱作Class Method(類別方法)。
8.Class Variable & Class Method 合稱 Class Member(類別成員:類別變數、類別方法)。
9.類別之間可以定義物件繼承關係。
類別範例:
檔案名稱 Example.java,擇其內部必須有唯一一個public class(公共類別)Example。
public class Example{
}
class Student{
}
其餘類別只能是class,不能再加上public,這些前面無public的class,就是物件啦。(public class也可以是物件、範例一)
有class關鍵字的可以成為物件,無class關鍵字則是方法。(有此一說,自己體會吧!)
Object 物件
1.物件具生命週期,會「產生」(呼叫的方法稱為Donstructor建構子)和「消滅」(呼叫的方法稱為Destructor解構子)。
2.同一Class內的Object,具有不同的內部狀態。
3.Object透過接收的訊息(物件方法),做出反應進而改變其內部狀態(物件變數)。
範例一:
public class Main {
int x = 5;
public static void main(String[] args) {
Main myObj = new Main();
System.out.println(myObj.x);
}
}
輸出:5
物件的建立
範例
class Student{
public String name;
public int score;
public void setName(String str){
name = str;
}
public void setScore(int s){
score = s;
}
}
public class Demo{
public static void main(String[] argv){
Student Peter = new Student();
Peter.setName("Peter");
Peter.setScore(88);
Student Amy = new Student();
Amy.setName("Amy");
Amy.setScore(95);
System.out.println(Peter.name + ",score=" + Peter.score);
System.out.println(Amy.name + ",score=" + Amy.score);
}
}
輸出
Peter,score=88
Amy,score=95
Method 方法 (W3Schools、老師節錄)
方法裡的程式碼執行呼叫時才會執行,可以傳入參數值給方法,方法是執行特定動作的程式、又稱為函數,使用方法能避免相同動作重複撰寫。
方法必須定義在某一類別內,方法名稱後面會跟著一組小括號()。Java本身已經有定義一些方法供使用,例如:System.out.println()。
建立方法
範例
public class Main {
static void myMethod() {
//要執行的程式碼
}
}
說明
myMethod()是方法的名稱。
static 意指此方法屬於Main類別,而且不是Main類別裡的物件。
呼叫方法
public class Main {
static void myMethod(){
System.out.println("I just got executed!");
}
public static void main(String[] args){
myMethod();
}
}
// Outputs "I just got executed!"
Document: https://www.w3schools.com/java/java_methods.asp
方法的宣告 (老師整理)
方法就是一個功能模組(又稱為「函數」)。
屬性
public static : 允許類別外呼叫。
private static : 僅允許類別內呼叫。
static : 同 public static。
回傳值資料型態
可以是一般資料型態,int float double char...。
void 不回傳任何值。
名稱
與變數名稱宣告相同,首字為小寫字母。
引數
呼叫函數時,可以使用變數或數值坐傳入值。
return
回傳值,必須與「方法回傳值資料型態」相同。
範例
檔案名稱 Demo.java
public class Demo{
public static void main(String[] argv){
int x=100,y=200;
print( add(x,y) );
}
static int add(int a,int b){
return a+b;
}
public static void print(String s){
System.out.println(s);
}
}