《物件導向》 方法和方法過載!!!

2021-09-16 13:27:19 字數 1895 閱讀 9699

方法的語法:

// 方法宣告

訪問修飾符 返回值型別 方法名(引數列表)

public void ***()

// 呼叫方法

物件名.方法名(實際引數)

;// num1和num2 是形式引數

public

void

plus

(double num1,

double num2)

// 10和20是實際引數

// plus(10,20);

/*int di1 = 10;

int di2 = 20;

plus(di1,di2);*/

int num2 =10;

int num1 =20;

plus

(num2,num1)

;基本資料型別作為引數傳值:

​ 傳值傳的是值的內容,來到了另乙個方法空間之後,這個值和之前沒有任何關係。(你們拷貝我網盤的內容)

引用資料型別作為引數傳值:

​ 傳值傳的是物件在堆的位址值,所以兩個內容是指向了同一塊空間,是相互有影響的。

/**

* 學生

* @author charles

* 2023年4月1日 上午9:05:41

*/public

class

student

/** * 帶參構造

* @param stuname

* @param stuage

* @param stuscore

*/public

student

(string stuname,

int stuage,

double stuscore)

}

this關鍵字

this表示當前物件,誰在呼叫這個方法 誰就是當前物件!

可以用來呼叫成員變數/例項變數。 this.屬性名

可以用來呼叫成員方法 this.方法名()

它也可以用來呼叫構造方法 this(***); 必須寫在構造中的有效**的第一行。

方法名相同,引數列表不同(個數不同、型別不同、位置/順序不同)的情況就是方法過載,和返回值型別、訪問修飾符無關!

public void hehe(int num1,string num2)

public int hehe(string num2,int num1)

方法過載目的:為了能夠讓同乙個方法執行n種處理。 (多個方法 是進行類似功能的處理,只不過處理的單元不同而已,這時候為了不再花樣起名 就使用了方法過載)

system.out.println(" ");

arryas.tostring();

在類中定義的屬性:成員變數

在方法中定義的變數:區域性(local)變數

定義的位置:

​ 成員變數是定義在類中、方法外。

​ 區域性變數是定義在類中、方法內(方法宣告(形參列表) / 方法體)。

作用域:

​ 成員變數作用域是整個類中都能用。

​ 區域性變數的作用域只能應用在定義它的方法中。

生命週期:生 -> 死 開始 -> 結束

​ 成員變數/例項變數 它是隨著物件的產生而建立,隨著物件的銷毀而結束。

​ 區域性變數是隨著方法的壓棧而建立,隨著方法的彈棧而結束。

預設值:

​ 成員變數有預設值。

​ 區域性變數沒有預設值,如果不賦初始值,無法使用。

物件導向 方法和方法過載規範

1.帶參方法的語法 訪問修飾符 返回型別 方法名 形式引數列表 呼叫有參方法 類 物件名 new 類 物件名.方法名 實參1,實參2.形參 實參呼叫方法的時候,實參不能指定資料型別 形參和實參 資料型別要一致,數量也要一致 2.值傳遞,引用傳遞 基本資料型別傳遞的是 值,乙個變數的值改變,不會影響另...

物件導向 方法過載

過載就是在乙個類中,有相同的函式名稱,但形參不一樣的函式。過載規則 1.方法名稱必須相同。2.引數列表必須相同 個數不同 型別不同 引數排列順序不同 3.方法的返回型別可以相同也可以不相同。4.僅僅返回型別不同不足以成為方法的過載。理論 方法名稱相同,編譯器會去呼叫方法引數去匹配,找到對應方法去呼叫...

物件導向 構造方法(過載)

構造方法 1 構造方法概述和格式 1 概述 給物件的資料 屬性 進行初始化 2 格式特點 public static void main string args class phone 2 構造方法的過載 1 概述 方法名相同,與返回值型別無關 構造方法沒有返回值 只看引數列表 2 注意事項 pub...