国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java基礎篇】一文搞懂Java方法的調用與重載(超詳細)

這篇具有很好參考價值的文章主要介紹了【Java基礎篇】一文搞懂Java方法的調用與重載(超詳細)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

個人主頁:兜里有顆棉花糖
歡迎 點贊?? 收藏? 留言? 加關注??本文由 兜里有顆棉花糖 原創(chuàng)
收錄于專欄【JavaSE_primary】
【Java基礎篇】一文搞懂Java方法的調用與重載(超詳細),JavaSE_primary,java,開發(fā)語言

一、方法的概念以及使用

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基礎篇】一文搞懂Java方法的調用與重載(超詳細),JavaSE_primary,java,開發(fā)語言

這里補充一點:在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 等)也不包含在方法簽名中。

方法簽名的意義:方法簽名的唯一性確保了編譯器可以根據參數的類型和數量來正確匹配方法調用。

請看:
【Java基礎篇】一文搞懂Java方法的調用與重載(超詳細),JavaSE_primary,java,開發(fā)語言
所以,在同一個作用域中不能定義兩個相同名稱的標識符,否則編譯器無法識別(不知道該調用哪一個了),方法簽名不一樣,調用的方法當然就不一樣啦。

嗯,就到這里啦,再見啦友友們?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-680382.html

到了這里,關于【Java基礎篇】一文搞懂Java方法的調用與重載(超詳細)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【超全詳解一文搞懂】Scala基礎

    【超全詳解一文搞懂】Scala基礎

    Scala是Spark的基礎,我們需要研究將大數據引入到Spark的特定架構。 Scala集合很重要 作為數據結構,解決存儲問題 包含了大量算子、解決問題的庫 由于Scala集合很多,我們在學習的時候,需要先學一個作為共性 然后在掌握差異化的部分(其實高級程序語言不是很依賴差異化的數

    2024年03月28日
    瀏覽(63)
  • 一文搞懂java集合框架

    一文搞懂java集合框架

    Java集合框架主要包括兩個部分:接口和實現類。其中,接口定義了一系列的方法,而實現類則是實現了這些接口中定義的方法。Java集合框架中的接口主要分為三大類:List(列表)、Set(集合)和Map(映射)。 可以動態(tài)保存任意多個對象 提供了?系列方便的操作對象的方法

    2023年04月24日
    瀏覽(21)
  • 一文搞懂Java中的容器(集合類)

    一文搞懂Java中的容器(集合類)

    提示:本文介紹的集合類有很多,有的是日常開發(fā)常用的,有的是面試常問的,建議大家都了解一點。 Java 容器分為 Collection 和 Map 兩大類,其下又有很多子類,如下所示: 這里有個面試點:Collection 和 Collections 有什么區(qū)別? Collection 是一個集合接口 Collections 是一個包裝類,

    2024年02月09日
    瀏覽(25)
  • 【JAVA雜貨鋪】一文帶你走進面向對象編程|構造方法調用 | 代碼塊分類| 期末復習系列 | (中3)

    【JAVA雜貨鋪】一文帶你走進面向對象編程|構造方法調用 | 代碼塊分類| 期末復習系列 | (中3)

    ??個人主頁:? Aileen_0v0 ??系列專欄: Java學習系列專欄 ??個人格言:\\\" 沒有羅馬,那就自己創(chuàng)造羅馬~\\\" 上次,我們學習了關于Java面向對象編程的 構造方法 ,以及 this 在構造方法/實例化對象中的使用,若有遺忘點擊???? 本節(jié)我們`來學習,代碼塊,tostring以及繼承? 那還等什么

    2024年02月04日
    瀏覽(28)
  • 【Python基礎】一文搞懂:Python 中 csv 文件的寫入與讀取

    【Python基礎】一文搞懂:Python 中 csv 文件的寫入與讀取

    在數據處理和數據分析領域,CSV (逗號分隔值) 文件是一種常見的文件格式,用于存儲表格數據。Python 通過內置的 csv 模塊提供了對 CSV 文件的讀寫支持,使得處理這種類型的文件變得簡單高效。本文將詳細介紹如何在 Python 中進行 CSV 文件的讀取和寫入操作。 CSV 文件是一種簡

    2024年04月25日
    瀏覽(30)
  • C# 方法詳解:定義、調用、參數、默認值、返回值、命名參數、方法重載全解析

    方法是一段代碼,只有在調用時才會運行。 您可以將數據(稱為參數)傳遞給方法。 方法用于執(zhí)行某些操作,也被稱為函數。 為什么使用方法?為了重用代碼:定義一次代碼,然后多次使用。 創(chuàng)建一個方法 方法的定義以方法的名稱開頭,后跟括號()。C#提供了一些預定義的

    2024年01月24日
    瀏覽(25)
  • 【JAVA雜貨鋪】一文帶你走進面向對象編程|繼承|重載|重寫|期末復習系列 | (中4)

    【JAVA雜貨鋪】一文帶你走進面向對象編程|繼承|重載|重寫|期末復習系列 | (中4)

    ??個人主頁:? Aileen_0v0 ??系列專欄 :Java學習系列專欄 ??個人格言:\\\"沒有羅馬,那就自己創(chuàng)造羅馬~\\\" ? 目錄 繼承 ?私有成員變量在繼承中的使用?編輯 ?當子類和父類變量不重名時: 當子類和父類重名時: ???總結: 繼承的含義: toString方法的作用:? 重寫和重載的區(qū)別 對比狗和

    2024年02月05日
    瀏覽(122)
  • [Data structure]隊列&環(huán)形隊列 | 一文帶你徹底搞懂隊列和環(huán)形隊列(內附詳細圖解和代碼實現)

    [Data structure]隊列&環(huán)形隊列 | 一文帶你徹底搞懂隊列和環(huán)形隊列(內附詳細圖解和代碼實現)

    ?作者介紹:大二本科網絡工程專業(yè)在讀,持續(xù)學習Java,努力輸出優(yōu)質文章 ?作者主頁:@逐夢蒼穹 ?所屬專欄:數據結構。數據結構專欄主要是在講解原理的基礎上拿Java實現 ?如果覺得文章寫的不錯,歡迎點個關注一鍵三連??有寫的不好的地方也歡迎指正,一同進步??

    2023年04月17日
    瀏覽(53)
  • 一文搞懂tracert在windows和linux上的使用方法,騰訊T2大佬手把手教你

    一文搞懂tracert在windows和linux上的使用方法,騰訊T2大佬手把手教你

    參數說明 使用說明 實例1:traceroute 用法簡單、最常用的用法 實例2:跳數設置 實例3:顯示IP地址,不查主機名 實例4:探測包使用的基本UDP端口設置6888 實例5:把探測包的個數設置為值4 實例6:把對外發(fā)探測包的等待響應時間設置為3秒 tracert在windows下使用 =====================

    2024年04月28日
    瀏覽(29)
  • C#基礎學習_方法的重載

    C#基礎學習_方法的重載

    在類中定義方法的一般方式(不使用重載時):

    2024年02月13日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包