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方法的相關知識點!