個人主頁:兜里有顆棉花糖
歡迎 點贊?? 收藏? 留言? 加關注??本文由 兜里有顆棉花糖 原創(chuàng)
收錄于專欄【JavaSE_primary】
一、方法的概念以及使用
1.1什么是方法
概念:在Java中,方法是一段包含了一系列語句的可重用代碼塊。方法用于執(zhí)行特定的任務或操作,并且可以帶有輸入參數和返回值。
方法的意義:Java方法的意義在于提高代碼的可讀性、可維護性、復用性和靈活性。它們是構建模塊化、組織良好且易于擴展的程序的重要組成部分。
在Java中,方法格式如下:
[訪問修飾符] [返回類型] 方法名([參數列表]) {
// 方法體
// 包含一系列要執(zhí)行的語句
// 可能包括變量聲明、控制流語句、表達式等
[return 返回值;]
}
1.2方法定義
我們來舉幾個具體方法的例子來進行演示,請看:
示例一(add方法):
public static int add(int x,int y) {
return x + y;
}
示例二(階乘和):
//方式一:
public static int facSum1(int n) {
int sum = 0;
for(int i = 1;i <= n;i++){
int ret = 1;
for(int j = 1;j <= i;j++){
ret *= j;
}
sum += ret;
}
return sum;
}
//方式2:
public static int facSum2(int n){
int sum = 0;
int ret = 1;
for(int i = 1;i <= n;i++){
ret *= i;
sum += ret;
}
return sum;
}
在定義方法時,我們需要注意以下幾個注意事項:
- 返回值類型:如果方法有返回值,返回值類型必須要與返回的實體類型一致,如果沒有返回值,必須寫成void
- 方法名字:采用小駝峰命名
- 參數列表:如果方法沒有參數,()中什么都不寫,如果有參數,需指定參數類型,多個參數之間使用逗號隔開
- 方法體:方法內部要執(zhí)行的語句
- 在java當中,方法必須寫在類當中,同時方法不能嵌套定義
- 在Java中,是不存在方法聲明的
1.3方法調用的執(zhí)行過程
在方法調用時,實參會被傳遞給對應的形參。當方法被調用時,形參會以實參的值來初始化。在方法體中,可以使用形參來處理傳遞進來的值。形參和實參之間的傳遞是通過值傳遞的方式進行的。
具體調用過程如下:調用方法—>傳遞參數—>找到方法地址—>執(zhí)行被調方法的方法體—>被調方法結束返回—>回到主調方法繼續(xù)往下執(zhí)行
1.4形參和實參的關系
在 Java 中,對于基本數據類型的形參,形參是實參的值的拷貝。形參的改變不會影響到實參。
這里舉個例子進行演示:
public static void swap(int x,int y){
int tmp = x;
x = y;
y = tmp;
}
public static void main(String[] args) {
int a = 10;
int b = 20;
System.out.println("交換之前:a="+a+" "+"b="+b);
swap(a,b);
System.out.println("交換之后:a="+a+" "+"b="+b);
}
結果如下:
這里補充一點:在Java中,局部變量時存儲在棧上,而且不能獲取棧上的地址(意思就是沒有&a
、&b
這樣的說法)。如果要改變或者交換a
、b
這兩個變量的話,則必須將其存儲到堆上。
另外:方法的返回值是可選的. 有些時候可以沒有的,沒有時返回值類型必須寫成void。
二、方法的重載
在Java中,方法重載是指在同一個類中定義多個方法,這些方法具有相同的方法名但參數列表不同。方法重載可以通過改變參數的數量、類型或順序來實現。
方法重載特點如下:
- 1.方法名相同:被重載的方法必須具有相同的方法名。
- 2.參數列表不同:重載的方法必須具有不同的參數列表,包括參數的個數、類型或順序的不同。
- 3.返回類型可以不同:方法重載與方法的返回類型無關。
下面舉個例子:
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
方法簽名
方法簽名即:經過編譯器編譯修改過之后方法最終的名字。具體方式:方法全路徑名+參數列表+返回值類型,構成方法完整的名字。
Java編譯器是通過方法簽名來識別每個方法的。在編譯時會根據方法的簽名來唯一識別每個方法,并進行方法調用的匹配。
方法簽名由以下部分組成:
1.方法名稱:方法的名稱用于標識方法本身。
2.參數列表:參數列表指定了方法接受的參數的數量、類型和順序。參數列表中的每個參數都包含參數的類型和參數的順序。
注意,方法簽名與以下因素無關:
1.方法的返回類型:方法的返回類型不包含在方法簽名中,所以在方法重載時,只要方法的簽名不同,返回類型可以不同。
2.方法的訪問修飾符:方法的訪問修飾符(例如 public、private 等)也不包含在方法簽名中。
方法簽名的意義:方法簽名的唯一性確保了編譯器可以根據參數的類型和數量來正確匹配方法調用。
請看:
所以,在同一個作用域中不能定義兩個相同名稱的標識符,否則編譯器無法識別(不知道該調用哪一個了),方法簽名不一樣,調用的方法當然就不一樣啦。文章來源:http://www.zghlxwxcb.cn/news/detail-680382.html
嗯,就到這里啦,再見啦友友們?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-680382.html
到了這里,關于【Java基礎篇】一文搞懂Java方法的調用與重載(超詳細)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!