赞
踩
文章目录
小时候,我们学会了十以内的加法,却对十以外的加法感到害怕,但从现在来看,它们都属于加法,只是计算方法略有不同。方法的重载也一样,同样的方法名,通过增减参数,改变参数的顺序,改变参数的数据类型来应对各种情况。
重载,将同一方法,通过增减参数,改变参数顺序,改变参数数据类型的方式,应对使用此方法的其他情况
- public class Demo {
-
- int add(int a,double b) { //add方法第一种类型,整数类型a+浮点数类型b
- System.out.println((int)(a+b));
- return (int)(a+b);
- }
-
- int add(double b,int a) { //add方法第二种类型,浮点数类型b+整数类型a 调换了参数的位置
- System.out.println((int)(a+b));
- return (int)(a+b);
- }
-
- int add(int a,double b,float c) { //add方法第三种类型,三个数相加 增加了参数的个数
- System.out.println((int)(a+b+c));
- return (int)(a+b+c);
- }
-
- public static void main(String[] args) {
- Demo demo1 = new Demo();
- Demo demo2 = new Demo();
- Demo demo3 = new Demo();
- demo1.add(512,512.0);
- demo2.add(512.0,512);
- demo3.add(1000, 20.0, 4);
- }
- }
以上代码,add()方法,编写了三个
第一个:整数类型 a + 浮点数类型 b 强转化为整数类型
第二个:浮点数类型 b + 整数类型 a 强转化为整数类型
第三个:整数类型 a + 浮点数类型 b + 浮点数类型 c 强转化为整数类型
以上为 加法 可能遇到的情况,add()方法中,括号的内容,由具体数据更改成 实例化对象,便能循环使用方法
输出结果:
(1)方法,通过在括号里增减参数,改变参数顺序,改变参数数据类型,实现重载
(2)重载的参数类型都相同,互换位置,两个方法会报错
如图:
原因:当调用方法,括号中输入参数,逻辑上不知道选择哪一个方法
结论:增减参数、改变其数据类型 皆能 实现重载
改变参数顺序,参数个数不变,其数据类型还都相同 不能 实现重载
(3)建议重载的方法:实现效果相同,只是过程多了点东西,这样符合重载的逻辑,编写代码时更加合理,不理解这句话可以重看一下上面的实操展示
那想让同个方法,实现效果不同怎么办?
这时候就要用到“方法的多态”了
以上就是java中方法的重载,本文仅简单介绍了方法的重载,怎么利用这个性质,还要靠咱们程序员的想象力和项目经理的天马行空了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。