方法

一.方法的概括
1.方法定義:
指的就是能完成特定功能的代碼段. 例如: main println print nextInt每個方法都能完成特定的工程, main: 程式的入口, println 帶有換行的輸出 print不帶換行的輸出 nextInt接受使用者從控制台錄入的整數.
2.方法用途
如果某段代碼(某個功能)經常被使用, 每次用都要寫一遍,做的都是重複(類似)的操作, 為了簡化程式的設計難度, 使用一個大括号,把這段代碼包裹起來, 然後取一個名字, 将來要使用這段代碼的時候,直接使用這個名字就可以通路這段代碼.
3.方法的好處:
1.提高了代碼的複用性
2.提高了代碼的封裝性, 别人在使用方法是不能直接看到内部的實作,他隻需要會調用即可.也能提高程式的安全性.
3.簡化了程式的設計難度

二. 方法的定義
1. 方法的定義的格式
修飾符 傳回值類型 方法名(參數清單 ) {
方法體;
}
2. 方法格式的說明:
修飾符:
用來修飾方法通路權限, 目前全部都用: public static
傳回值類型:
方法都具有一定的功能, 有可能會有一些資料産生, 就需要将資料傳回給方法的調用者. 定義方法時需要告訴方法的調用者,應該使用什麼樣的資料類型接收方法産生的資料. 簡單說: 傳回值類型就是方法内部産生資料的資料類型. 注意:沒有資料産生這裡寫: void (空) 例如: int nextInt() 告訴調用者使用int類型變量接受傳回的資料
方法名:
就是給封裝的代碼段起的名字,小駝峰命名法,見名知意即可.例如: getMaxOfTwo
參數清單:
這段代碼要完成功能時,可能會需要一些資料, 這些資料就需要通過參數清單傳入到方法的内部. 需要告訴調用者你要傳入什麼類型資料.
參數清單的書寫格式 (資料類型1 參數名1, 資料類型2 參數名2, ...) 這樣調用者就知道要傳入什麼類型資料,以及傳入幾個資料.
例如: public static void chu(int a, int b) 我這方法需要要除法的運算, 需要外界把做除法運算的被除數和除數傳入到方法内容,就在參數清單中,聲明這個 參數,告訴調用者要傳入兩個int類型資料進來.
如果一個方法不需要外界傳入資料, 參數清單就隻寫一個小括号: 比如public static void printStarRect()
方法體:
能完成特定功能的代碼段
如果方法内部有資料産生, 需要使用return(傳回)關鍵字, 把方法内部産生的資料傳回給調用者.
return 資料;
隻要方法的傳回值類型不是void.就必須寫return,把要傳回的資料跟到後面.

三. 方法的調用
1. 方法不調用是不會執行的
2. 方法調用的格式:
方法名(實際參數)
實際參數: 就是讓方法執行,真實傳入的資料
3. 方法調用的其他形式
1. 直接調用
使用沒有傳回值産生的方法 方法名(實際參數);
2. 指派調用
必須是有傳回值産生的方式, 資料類型 變量名 = 方法名(實際參數);
3. 列印(輸出)調用
必須是有傳回值産生的方法
System.out.println(方法名(實際參數));

四.方法根據是否有傳回值是否有參數的分類
1.無參數無傳回值 -->無參無返
修飾符 void 方法名() {
方法體;
}
2.無參數有傳回值 --> 無參有返
修飾符 資料類型 方法名() {
方法體;
return 資料;
}
3.有參數無傳回值 --> 有參無返
修飾符 void 方法名(資料類型1 參數名1, 資料類型2 參數名2,....) {
方法體;
}
4.有參數有傳回值 -->有參有返
修飾符 資料類型 方法名(資料類型1 參數名1, 資料類型2 參數名2,....) {
方法體;
return 資料;
}

五. 方法使用的注意事項
1. 方法定義的注意事項
1. 方法是不能嵌套定義的, 方法必須定義一個類後面的大括号中
2. 方法定義先後是沒有差別的
3. 方法之間是平級的關系,沒有優先級
2. 方法的調用:
1. 方法是可以嵌套調用的, 就是在一個方法中調用其他方法
2. 甚至一個方法可以自己調用自己, 這種現象叫做遞歸調用, 遞歸有風險, 效率極低(實際開發中基本不用)
3. 方法參數注意事項
1.定義方法的時候,叫做形式參數 (形參), 形參的書寫格式 (資料類型 參數名, 資料類型 參數名, ...) 每個參數名前都要資料類型, 每定義完一個後要加逗号, 如果是最後一個就不加,
形參的作用: 告訴調用者需要什麼類型資料以及的資料的個數.
2.調用方法的時候, 叫做實際參數(實參), 就是真正參與執行的資料,
1 )實參不要資料類型(直接常量, 變量名 )
2 )實參的資料類型一定要形參的資料類型一緻(形參式類型,實參可以是小類型)
3 )實參的個數一定要形參的個數一緻
4 )實參的順序一定要形參的順序一緻
4. return語句
1. 第一個作用,就是把有傳回值的方法中産生的資料傳回給調用者 return 資料;
2. 如果一個方法的傳回值類型不是void, 那麼就必須提供return語句.
3. 第二個作用, 可以提前結束一個方法, 一般用來結束傳回值為void的方法.
4. 一個方法如果沒有資料産生,也可以寫return關鍵字, 但是必須寫為: return; 表示提前結束方法
5. return語句之後不要在寫代碼了,方法執行時執行完return方法就結束,因為那段代碼不能執行到,編譯會報錯.

方法的重載
1. 重載: Overload
2. 方法的重載概念:
在同一個類中, 方法名相同,但是參數清單不同,與傳回值類型無關, 這樣多個方法之間的關系就是重載.
3. 概念的說明:
1. 在同一個類中:
必須是寫在一個類中的方法, 不同類的中是不可能發生重載的.
2. 方法名相同:
方法名要一模一樣
3. 參數清單不同:
參數的類型不同, 參數的個數, 參數的順序不同. 與參數的名字沒有關系.
4. 與傳回值類型無關:
即使傳回值類型不同, 也不算重載, 這叫做方法重複.
4. 方法重載的好處
如果沒有方法的重載, 咱們有很多個相同邏輯的代碼段(方法),就需要為這多個相同邏輯的代碼段取多個名字, 對于方法定義這來說,取名就是一個很重的負擔. 同樣對于方法的調用者來說也是一種負擔,因為要記憶大量的名字.
有了重載之後,同一個類中相同邏輯的代碼段,就可以隻取一個名字, 定義方法的人工作量減輕了,調用者隻需要記憶一個名字,就能通路多個相同邏輯的方法.