中括號:表示可選
[許可權修飾符]
[特殊修飾符] 返回值型別 方法名(
[引數列表]
)
**方法的分類:**無論是什麼方法最終一定能夠被歸類到四類中。
根據返回值型別和是否有引數列表劃分出來的。
無參無返方法(沒有引數(空的),也沒有返回值型別void)
public
void
printinfo()
無參有返方法(沒有引數(空的),有返回值型別:例如以前用過的scanner它的next***()方法可以給你返回乙個結果,這個結果叫做返回值)
public
intnextint()
有參無返方法(有引數(引數列表),沒有返回值型別void)
有參有返方法(有引數,也有返回值型別)
public
double
plus
(double num1,
double num2)
方法的注意事項:
方法宣告上的引數列表是形式引數列表
,它是隨便起的名,只不過是為了方便我們定義方法時使用而已。
方法在呼叫的時候,如果方法宣告上有要求傳遞引數,你就必須按照形式引數列表的型別和數量一 一對應傳值。這時候你傳的值叫做實際引數
。
方法在定義返回值之後,如果你呼叫時沒有拿變數接收,你得不到這個返回值。
基本資料型別在作為方法的引數傳遞時,是將資料的值傳遞過去了,多者之間沒有關係。
引用資料型別在作為方法的引數傳遞時,是將引用的記憶體位址傳遞過去了,多者之間使用的是同一塊堆記憶體,所以其中一處變化,會導致所有引用得到的結果變化。
**特殊的作用:**用作於物件的初始化。
語法:
許可權修飾符 類名(引數列表)
構造方法的注意事項:每個類都被系統賦予了乙個預設的無參構造。但是如果你手動編寫了乙個構造(無參/有參),系統都不會再給你提供預設無參構造了。
構造方法沒有返回值型別,構造方法的方法名必須和類名完全一致。
我們發現當方法宣告上的引數名(區域性變數)和成員變數的名相同時,缺省會就近原則。區域性變數優先。
所以這時候為了區分區域性變數和成員變數可以給成員變數前加上this標識。
**this:**表示當前這個類的(這個)物件,誰呼叫這個方法誰就是當前物件。
public
student
(string name,
int age, string classid)
因為它是個物件,所以我們可以利用this去呼叫物件可以呼叫的東西。
this.name // 呼叫屬性
this.printinfo(); // 呼叫普通方法
在構造方法中呼叫構造方法時,必須在有效**的第一行。(必須在構造裡才能呼叫)
this(); // 呼叫無參構造
this(***,***,xx); // 呼叫帶參構造
**作用:**方便你呼叫方法,不用去記憶一堆的方法名。也方便你定義方法,不用去起一堆的方法名。
**方法過載(overload):**發生在乙個類中,出現的方法名相同
,引數列表不同
的場景就是方法過載。與方法的返回值型別和訪問修飾符無關!
為什麼與返回值型別無關?
**雞賊回答:**構造方法沒有返回值型別,但是也能構成方法過載,所以方法的過載和返回值型別無關!
正確回答:
float
max(
int num1,
int num2)
;int
max(
int num1,
int num2)
;// 如果你呼叫max方法 你根本無法知道呼叫的是誰
max(10,
20)
什麼樣的才叫引數列表不同?引數列表的個數不同。
float
method1
(int num1,
int num2)
;int
method1
(int num1)
;
引數列表的資料型別不同。
float
method1
(int num1,string num2)
;int
method1
(int num1,
int num2)
;
引數列表的位置不同。
float
method1
(int num1,string num2)
;int
method1
(string num1,
int num2)
;
成員變數和區域性變數的區別:初始值不同。
成員變數有初始值。
區域性變數沒有初始值,如果不賦初始值,不能使用。
位置不同。
成員變數定義在類中方法外。
區域性變數定義在類中方法內。(方法宣告上的形參或者方法體中)
作用域不同。
成員變數的作用域是整個類。
區域性變數的作用域是在定義它的方法內。
生命週期不同。
成員變數是隨著物件的建立而產生,隨著物件的銷毀而消失。
區域性變數是隨著方法的壓棧而產生,隨著方法的彈棧而消失
方法和方法過載
方法的語法 方法宣告 訪問修飾符 返回值型別 方法名 引數列表 public void 1.無參無返 沒有引數列表 沒有返回值 單純的作為 功能 的聚合使用 便於功能的復用。public void show 2.無參有返 沒有引數列表 有返回值 單純的只是想通過呼叫某個功能 得到某些結果的時候就可以...
方法和方法過載
目標 1 理解方法的作用 2 掌握方法的基本語法 3 掌握方法的分類 4 掌握方法的方法過載方法 函式 能夠實現某種功能的乙個東西 main方法就是一種方法,前面還用到過其他的方法例如 變數可儲存單一的資料,方法可以儲存功能 段。面向過程是一種以過程為中心的程式設計思想 這些都是以什麼正在發生為主要...
方法和方法過載
帶參方法的語法 訪問修飾符 返回型別 方法名 形式引數列表 呼叫有參方法 類 物件名 new 類 物件名.方法名 實參1,實參2.形參實參 呼叫方法的時候,實參不能指定資料型別 形參和實參 資料型別要一致,數量也要一致 值傳遞,引用傳遞 基本資料型別傳遞的是 值,乙個變數的值改變,不會影響另乙個 引...