012_方法的重载机制 (Overload)

一、方法的重载 (Overload)

1、前提条件

在同一个类中,如果“功能1”和“功能2”它们的功能相似,可考虑让它们的方法名相同
但是,对于功能不同或不相似,尽可能让方法名不相同。

怎么区分类中的不同方法?
       首先java编译器会通过方法名进行区分,但在java中允许方法名相同的情况出现,方法名相同的情况下,编译器会通过方法的参数(类型和个数) 对方法进行区分

2、概念

方法重载是指在同一个Java类中,定义多个同名的方法,方法参数不同,包括参数的类型和个数都不同
优点:代码既整齐美观,又便于后期的编写。(容易记忆,方便使用。)

3、🔺满足条件

(1) 在同一个类中
(2) 方法名相同
(3) 参数列表不同
    ① 参数的个数
    ② 参数的类型
    ③ 参数的顺序

只要同时满足以上三个条件,就可认定方法与方法之间发生了方法的重载。

"栗子1"

package javabasis;

/* 重载机制满足条件
 * 1、在同一个类中
 * 2、方法名相同
 * 3、参数列表不同 (个数、类型、顺序)
 */
public class OverloadDemo {
	public static void main(String[] args) {
		// 参数的个数不同算不同
		add();		// 无参数
		add(10);	// 带一个整型参数10
		
		// 参数的类型不同算不同
		int result1 = getSum(10, 20);
		System.out.println(result1);		// 30
		double result2 = getSum(1.5, 2.8);
		System.out.println(result2);		// 4.3
		
		// 参数的顺序不同算不同
		double result3 = getMult(5, 6.2);	
		System.out.println(result3);		// 31.0
		double result4 = getMult(4.2, 2);
		System.out.println(result4);		// 8.4
	}
	
	// 定义一个无参数,无返回值的add()方法
	public static void add(){
		System.out.println("无参数");
	}
	// 重载以上方法 (参数的个数不同),带有一个整型参数,无返回值
	public static void add(int a){
		System.out.println("带一个整型参数" + a);
	}
	
	// 定义一个带有两个整型参数,有返回值的getSum()方法
	public static int getSum(int x, int y){
		return x + y;
	}
	// 重载以上的方法 (参数的类型不同),带有两个浮点型的参数,有返回值
	public static double getSum(double x, double y){
		return x + y;
	}
	
	// 定义一个带有两个参数(一个为整型,一个为浮点型),有返回值的getMult()方法
	public static double getMult(int a, double b){
		return a * b;
	}
	// 重载以上的方法 (参数的顺序不同),带有两个参数(一个为整型,一个为浮点型),有返回值
	public static double getMult(double a, int b){
		return a * b;
	}
}
4、🔺影响因素

方法的重载和方法名参数(个数、类型、顺序)有关
方法的重载和修饰符列表返回值类型无关

5、经典例子

在Java源码src.zip中,PrintWriter.java就是典型的使用方法重载机制


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值