方法重载的基本使用
方法重載:指在同一個類中,允許存在一個以上的同名方法,只要它們的參數列表不同即可,與修飾符和返回值類型無關。
參數列表:個數不同,數據類型不同,順序不同。
重載方法調用:JVM通過方法的參數列表,調用不同的方法。
package cn.learn.day04.demo04;/* 對于功能類似的方法來說,因為參數列表不一樣,卻需要記住那么多不同的方法名稱,太麻煩。方法的重載(Overload):多個方法的名稱一樣,但是參數列表不一樣。 好處:只需要記住唯一一個方法名稱,就可以實現類似的多個功能。方法重載與下列因素相關: 1. 參數個數不同 2. 參數類型不同 3. 參數的多類型順序不同方法重載與下列因素無關: 1. 與參數的名稱無關 2. 與方法的返回值類型無關*/ public class Demo01MethodOverload {public static void main(String[] args) {/*System.out.println(sumTwo(10, 20)); // 30System.out.println(sumThree(10, 20, 30)); // 60System.out.println(sumFour(10, 20, 30, 40)); // 100*/System.out.println(sum(10, 20)); // 兩個參數的方法System.out.println(sum(10, 20, 30)); // 三個參數的方法System.out.println(sum(10, 20, 30, 40)); // 四個參數的方法 // System.out.println(sum(10, 20, 30, 40, 50)); // 找不到任何方法來匹配,所以錯誤!sum(10, 20);}public static int sum(int a, double b) {return (int) (a + b);}public static int sum(double a, int b) {return (int) (a + b);}public static int sum(int a, int b) {System.out.println("有2個參數的方法執行!");return a + b;}// 錯誤寫法!與方法的返回值類型無關 // public static double sum(int a, int b) { // return a + b + 0.0; // }// 錯誤寫法!與參數的名稱無關 // public static int sum(int x, int y) { // return x + y; // }public static int sum(double a, double b) {return (int) (a + b);}public static int sum(int a, int b, int c) {System.out.println("有3個參數的方法執行!");return a + b + c;}public static int sum(int a, int b, int c, int d) {System.out.println("有4個參數的方法執行!");return a + b + c + d;}}?
總結
- 上一篇: 方法练习3_打印指定次数的HelloWo
- 下一篇: 重载练习1_四种不同参数类型的方法