方法的重载(OverLoad):多个方法的名称一样,但是参数列表不一样。 好处:只需要记住唯一一个方法名称,就可以实现类似的多个功能。
package cn.miku.ai.demo00; public class Demo01MethodOverload { public static void main(String[] args) { System.out.println(sum(1, 2, 3)); } public static int sum(int a, int b) { System.out.println("有 2 个参数的方法执行"); return 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; } }比较两个数据是否相等。 参数类型分别为两个 byte 类型,两个 short 类型,两个 int 类型,两个 long 类型。
package cn.miku.ai.demo00; public class Demo03MethodOverloadSame { public static void main(String[] args) { byte a = 10; byte b = 120; System.out.println(isSame(a, b)); System.out.println(isSame((short) a, (short) b)); System.out.println(isSame(10, 10)); System.out.println(isSame(10L, 10L)); } public static boolean isSame(byte a, byte b) { System.out.println("两个 byte 参数的方法执行!"); return a == b; } public static boolean isSame(short a, short b) { System.out.println("两个 short 参数的方法执行!"); return a == b; } public static boolean isSame(int a, int b) { System.out.println("两个 int 参数的方法执行!"); return a == b; } public static boolean isSame(long a, long b) { System.out.println("两个 long 参数的方法执行!"); return a == b; } }判断哪些方法是重载关系
public static void open() {} // 正确重载 public static void open(int a) {} // 正确重载 static void open(int a, int b) {} // 和第 8 行冲突 public static void open(double a, int b) {} // 正确重载 public static void open(int a, double b) {} // 和第 6 行冲突 // public void open(int i, double b) {} // 和第 5 行冲突 public static void OPEN() {} // 不是有效重载 // public static void open(int i, int j) {} // 和第 3 行冲突在调用输出语句的时候,println 方法其实就是进行了多种数据类型的重载形式。
package cn.miku.ai.demo00; public class Demo04OverloadPrint { public static void main(String[] args) { myPrint(100); } public static void myPrint(byte num) { System.out.println(num); } public static void myPrint(short num) { System.out.println(num); } public static void myPrint(int num) { System.out.println(num); } public static void myPrint(long num) { System.out.println(num); } public static void myPrint(float num) { System.out.println(num); } public static void myPrint(double num) { System.out.println(num); } public static void myPrint(char num) { System.out.println(num); } public static void myPrint(boolean num) { System.out.println(num); } public static void myPrint(String str) { System.out.println(str); } }