方法的重载

方法的重载(overload)

  1. 重载就是在一个类中,有相同的函数名称,但形参不同的函数。

  2. a. 参数的类型不同,对应调用的方法不同

    b. 此时区分方法的不在依靠方法名,依靠的是参数的数据类型(实参)

  3. 方法重载的规则

    • 在同一个类中
    • 方法名相同
    • 参数列表不同( 数量不同 、类型不同 、顺序不同 等)
  4. 方法重载和什么有关,和什么无关?

    a. 方法重载和方法名+参数列表有关

    b. 方法重载和返回值类型无关

    c. 方法重载和修饰符列表无关

  5. 实现理论:

    ​ 方法名称相同时,编译器会根据调用方法的参数个数、参数类型等去逐个匹配,已选择对应的方法,如果匹配失败,则编译器报错。

例子
public class Demo01 {
	public static void main(String[] args) {
		
		//调用两个形参的max方法
		int max1 = max(20, 50); 
		System.out.println("调用的第一个方法最大值为:"+max1);
		
		System.out.println("---------------------");
		
		//调用三个形参的max方法
		int max2 = max(50, 60, 80);
		System.out.println("调用的第二个方法最大值为:"+max2);
	}
	
	//两个形参比大小
	public static int max(int num1, int num2) {
		
		int result = 0;
		
		if (num1 == num2) {
			System.out.println("num1==num2");
			return 0; //return可以终止方法
		}
		
		if (num1 > num2) {
			result = num1;
		}else {
			result = num2;
		}
		
		return result;
	}
	
	//三个形参比大小
	public static int max(int num1, int num2, int num3) {
		
		int result1 = 0;
		
		if (num1 == num2) {
			if (num2 == num3) {
				System.out.println("num1==num2==num3");
				return 0;
			}
		}
			
		if (num1 > num2) {
			if (num1 > num3) {
				result1 = num1;
			}else {
				result1 = num3;
			}	
		}
		
		if (num2 > num1) {
			if (num2 > num3) {
				result1 = num2;
			}else {
				result1 = num3;
			}
		}
		
		return result1;
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值