Java技術分享之Java方法重載的知識點梳理

Java中存在着一種多態——重載,即一個類中可以有多個方法具有相同的名字。本文我來和大家梳理的正是關於Java方法重載的學習總結。下面讓我們一起來好好認識一下Java方法重載,再做一做相關練習題吧~
在這裏插入圖片描述

1、方法重載概念

方法重載指同一個類中定義的多個方法之間的關係,滿足下列條件的多個方法相互構成重載。多個方法在同一個類中,多個方法具有相同的方法名,多個方法的參數不相同,類型不同或者數量不同。

(1)注意:

重載僅對應方法的定義,與方法的調用無關,調用方式參照標準格式。重載僅針對同一個類中方法的名稱與參數進行識別,與返回值無關,換句話說不能通過返回值來判定兩個方法是否相互構成重載。

(2)正確範例:


 public class MethodDemo {

      public static void fn(int a) {

          //方法體

     }

     public static int fn(double a) {

          //方法體

     }

 }



 public class MethodDemo {

      public static float fn(int a) {

          //方法體

     }

     public static int fn(int a , int b) {

          //方法體

     }

 }

(3)錯誤範例:


public class MethodDemo {

     public static void fn(int a) {

         //方法體

    }

    public static int fn(int a) {   /*錯誤原因:重載與返回值無關*/

         //方法體

    }

}



public class MethodDemo01 {

    public static void fn(int a) {

        //方法體

    }

}

public class MethodDemo02 {

    public static int fn(double a) { /*錯誤原因:這是兩個類的兩個fn方法*/

        //方法體

    }

}

2、方法重載練習

(1)需求:使用方法重載的思想,設計比較兩個整數是否相同的方法,兼容全整數類型(byte,short,int,long)

(2)解決思路:

①定義比較兩個數字的是否相同的方法compare()方法,參數選擇兩個int型參數

②定義對應的重載方法,變更對應的參數類型,參數變更爲兩個long型參數

③定義所有的重載方法,兩個byte類型與兩個short類型參數

④完成方法的調用,測試運行結果

(3)代碼實現:


public class MethodTest {

    public static void main(String[] args) {

        //調用方法

        System.out.println(compare(10, 20));

        System.out.println(compare((byte) 10, (byte) 20));

        System.out.println(compare((short) 10, (short) 20));

        System.out.println(compare(10L, 20L));

    }



    //int

    public static boolean compare(int a, int b) {

        System.out.println("int");

        return a == b;

    }



    //byte

    public static boolean compare(byte a, byte b) {

        System.out.println("byte");

        return a == b;

    }



    //short

    public static boolean compare(short a, short b) {

        System.out.println("short");

        return a == b;

    }



    //long

    public static boolean compare(long a, long b) {

        System.out.println("long");

        return a == b;

    }

}

以上就是關於Java方法重載的學習總結,大家都看懂了嗎?如果對於Java方法重載還有任何疑問,可以關注我,深入學習Java方法的相關知識點!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章