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);

}

}