方法的重载(OverLoad)
1.含义:多个方法的名称相同,参数不同。
便捷:只需要记住一个方法名称,就可以实现多个功能。
代码示例:
public class DemoMethodOL {
public static void main(String[] args) {
System.out.println(sum(10,20));
System.out.println(sum(2,3,5));
System.out.println(sum(100,10,20,30));
}
private static int sum(int a,int b) {
System.out.println("有两个参数的方法执行");
return a*b;
}
private static int sum(int a,int b,int c) {
System.out.println("有三个参数的方法执行");
return a+b+c;
}
private static int sum(int a,int b,int c,int d) {
System.out.println("有四个参数的方法执行");
return a-b-c-d;
}
}
方法重载相关因素:
1.参数个数不同。
2.参数类型不同。
3.参数的多类型顺序不同
方法重载无关因素:
1.与参数名称无关。
2.与返回值类型无关。
方法重载练习题
【1】.比较两个数据是否相等。参数类型为两种,一种为int,一种为float。
第一题代码示例
public class DemoMethodOLTest1 {
public static void main(String[] args) {
System.out.println("判断int类型是否相等的结果是: " +issame(10, 20));
System.out.println("判断float类型是否相等的结果是: " +issame(20.0, 20.0));
}
private static boolean issame(int x, int y) {
return x == y;
}
private static boolean issame(double x, double y) {
return (float) x == (float) y;
}
}
【2】.判断下列方法是否正确重载
TIP:方法重载跟修饰符“public”,“static”无关。
【3】.重载模拟Print语句
TIP:
1.Ctrl+F6:可以让你改动的方法参数类型名与方法里使用到它的地方同步修改
2.按住Ctrl键不放,鼠标移到要查找的语句,可以进入解释语句的地方
3.从JDK里面看出,在调用输出语句的时候,Println方法其实就是进行了多种类型的重载形式。
第三题代码示例
public class DemoPrint {
//输出打印 基本类型:byte short int long float double char boolean
// 引用类型:String
public static void main(String[] args) {
myPrint(100);
myPrint('A');
myPrint(20.0);
myPrint("Hello World");
}
private static void myPrint(byte num) {
System.out.println("打印byte类型: " + num);
}
private static void myPrint(short num) {
System.out.println("打印short 类型: " + num);
}
private static void myPrint(int num) {
System.out.println("打印int类型: " + num);
}
private static void myPrint(long num) {
System.out.println("打印long类型: " + num);
}
private static void myPrint(float num) {
System.out.println("打印float类型: " + num);
}
private static void myPrint(double num) {
System.out.println("打印double类型: " + num);
}
private static void myPrint(char zifu) {
System.out.println("打印byte类型: " + zifu);
}
private static void myPrint(boolean is) {
System.out.println("打印boolean类型: " + is);
}
private static void myPrint(String str) {
System.out.println("打印String类型: " + str);
}
}