首頁  >  文章  >  Java  >  Java方法method的定義、呼叫及重載方法

Java方法method的定義、呼叫及重載方法

WBOY
WBOY轉載
2023-05-16 09:04:051930瀏覽

方法的定義和呼叫

什麼是方法

方法(method)就是一段用來完成特定功能的程式碼片段,類似於其它語言的函數(function)。

方法用於定義該類別或該類別的實例的行為特徵和功能實作。方法是類別和物件行為特徵的抽象。方法很類似於過程導向中的函數。在面向過程中,函數是最基本單位,整個程式由一個個函數呼叫組成。在物件導向中,整個程式的基本單位是類,方法是從屬於類別和物件的。

方法的宣告格式

[修飾符1 修飾符2 …] 傳回值型別方法名稱(形式參數清單){

Java語句;&hellip ; … … }

方法的呼叫方式

#物件名稱.方法名稱(實參列表);

方法的詳細說明

  • 形式參數:在方法宣告時用於接收外界傳入的資料。

  • 實參:呼叫方法時實際傳給方法的資料。

  • 傳回值:方法在執行完畢後返還給呼叫它的環境的資料。

  • 傳回值類型:事先約定的傳回值的資料類型,如無回傳值,必須顯示指定為void。

注意:Java中一切都是值傳遞

例如:我們要印1-n的數,傳統寫法寫在main方法裡,但是當有多個值時,就要寫多個for循環,這樣,程式碼就重複多了。

public class TestCode02 {
    public static void main(String[] args) {
        int n1 = 10;
        for (int i = 1; i <= n1; i++) {
            System.out.print(i + " ");
        }
        System.out.println();
        //当有多个n时,都要每次写一遍for循环
        int n2 = 13;
        for (int i = 1; i <= n2; i++) {
            System.out.print(i + " ");
        }
        System.out.println();
        
        int n3=20;
        //for...
        
    }
}

我們把相同的程式碼提取出來,放在一個方法裡,這樣每次呼叫這個方法就行了,不必每次寫相同的程式碼

public class TestCode02 {
    public static void main(String[] args) {
        int n1 = 10;
        printNnums(n1);
        int n2=12;
        printNnums(n2);
        int n3=14;
        printNnums(n3);
    }
    public static void printNnums(int n){
        for (int i = 1; i <= n; i++) {
            System.out.print(i + " ");
        }
        System.out.println();
    }
}

這樣,我們有多個n時,就只呼叫一次方法就行了

總結

1.方法是:對特定的功能進行提取,形成一個程式碼片段,這個程式碼片段就是我們所說的方法

2.方法和方法是並列的關係,所以我們定義的方法不能寫到main方法中

3.方法的定義–>格式:

        修飾符方法傳回值型別方法名稱(形參考表){
                方法體;
         程式碼的複用性

5.總結方法定義的格式:

修飾符:

public static
  • ##方法傳回值型別: 方法的傳回值對應的資料型別

  • 資料型別:可以是基本資料型別(

    byte

    ,
  • short
,

int,long,float,double,char,boolean) 也可以是引用資料型別方法名:見名知意,首字母小寫,其餘遵循駝峰命名, eg: addNum ,一般盡量使用英文來命名

  • 形參列表:方法定義的時候需要的形式參數: int num1, int num2 -->相當於告訴方法的呼叫者:需要傳入幾個參數,需要傳入的參數的型別;實際參數:方法呼叫的時候傳入的具體的參數: 10,20 -->根據形式參數的需要傳入的

  • 方法體:具體的業務邏輯程式碼

  • return 方法傳回值:

  • #方法如果有傳回值的話: return 方法傳回值,將傳回值傳回方法的呼叫處

    方法沒有傳回值的話:return可以省略不寫了,並且方法的回傳值類型為:void

何時有回傳值,什麼時候沒有回傳值? –>看需求

  • 6.方法的定義要注意什麼?

形參列表要怎麼寫:定義幾個參數,分別是什麼類型的—>不確定因素我們會當做方法的形參

  • 方法到底是否需要回傳值,如果需要的話,回傳值的型別是什麼?

  • 7. 方法的呼叫需要注意什麼?

實際參數怎麼傳入:傳入幾個參數,傳入什麼類型的

  • 方法是否有回傳值需要接受

  • 方法的重載

    什麼是方法重載
#方法的重載是指一個類別中可以定義多個方法名稱相同,但參數不同的方法。呼叫時,會根據不同的參數自動匹配對應的方法。

注意本質:重載的方法,實際上是完全不同的方法,只是名稱相同而已!

構成方法重載的條件

不同的意義:形參型別、形參數、形參順序不同

  • #只有傳回值不同不構成方法的重載;(如:int add(int a,int b){}與void add(int a,int b){}不構成方法重載)

  • 只有形参的名称不同,不构成方法的重载;(如:int add(int a){}与int add(int b){}不构成方法重载)

public class TestCode03 {
    public static void main(String[] args) {
        add(7,8);
        add(1.02,2.03);
        add(1,3,5);
        add(1,4,6,9);

    }
    //定义一个int型两数相加
    public static void add(int a,int b){
        System.out.println(a+"+"+b+"="+(a+b));
    }
    //定义一个double类型的两数相加
    public static void add(double a,double b){
        System.out.println(a+"+"+b+"="+(a+b));
    }
    //定义一个三个数相加
    public static void add(int a,int b,int c){
        System.out.println(a+"+"+b+"+"+c+"="+(a+b+c));
    }
    //四数相加
    public static void add(int a,int b,int c,int d){
        System.out.println(a+"+"+b+"+"+c+"+"+d+"="+(a+b+c+d));
    }
}

Java方法method的定義、呼叫及重載方法

总结

  • 方法的重载:在同一个类中,方法名相同,形参列表不同的多个方法,构成了方法的重载。

  • 方法的重载只跟:方法名和形参列表有关,与修饰符,返回值类型无关。

  • 注意:形参列表不同指的是什么?

(1)个数不同

add() add(int num1) add(int num1,int num2)

(2)顺序不同

add(int num1,double num2) add(double num1,int num2)

(3)类型不同

add(int num1) add(double num1)

以上是Java方法method的定義、呼叫及重載方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除