Start Study Java(2)

tech2025-02-13  24

1. 方法重载的基本使用

方法的重载(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; } }

2. 方法重载与下列因素相关

参数个数不同参数类型不同参数的多类型顺序不同 package cn.miku.ai.demo00; public class Demo02MethodOverload { public static void main(String[] args) { } public static int sum(int a, int b) { return a + b; } public static int sum(double a, double b) { // 参数类型不同 return (int) (a + b); } public static int sum(int a, double b) { // 参数的多类型顺序不同 return (int) (a + b); } }

3. 方法重载与下列因素无关

与参数的名称无关与方法的返回值类型无关

4. 例子

比较两个数据是否相等。 参数类型分别为两个 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; } }

5.练习

判断哪些方法是重载关系

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 行冲突

6. 重载实现 println 方法

在调用输出语句的时候,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); } }
最新回复(0)