Java方法重载(OverLoading)
1、为什么要引入方法重载:
情景:有一个类person,person类里面有一个方法run(),作用是跑步,默认是每秒钟跑1m,但是我们知道人和人的步幅和频率不同,总有”天赋异禀“的人类,他们的步幅和步频可能和普通人类有所差异,按照传统方法,我们应该再写一个run1(Double frequency),和run2(Double frequency,Double Length)...但是
我们发现了一个问题,明明是同一个方法就是方法的输入参数不同就成为了另一种方法,还不能使用同一个名字,让大家方便记忆和调用,java的设计师很聪明,直接让大家都叫一个名字就好了,通过识别不同的参数来判断到底是哪一个方法。
2、方法重载是什么:
-
官方的话:重载(overloading) 是在一个类中,对一个类进行重新编写,方法名字相同,而参数不同,返回类型可以相同也可以不同。
-
我认为:重载就和做饭一样,输入的原材料不同(参数个数,种类,顺序),得到结果也不一定相同,但是中间过程是相同的,都是在锅里炒,只是处理细节可能会有偏差,这就是方法重载。
3、怎么使用方法重载(注意事项):
-
使用位置:方法重载是在同一个类下使用的,如果是不同的类,就称不上方法重载,而是我们的传统方法了。
-
使用细节:首先保证方法名相同,参数不同,返回类型则不关心。参数不同是那不同呢?分别是个数,顺序和类型。
4、具体实现案例:
public class OverLoading01 { public static void main(String[] args) { Person person = new Person(); person.run(); person.run(0.25); person.run(0.25,5.0); } } class Person{ void run(){ System.out.println("每秒钟跑1m!"); } void run(Double frequency){ System.out.println("每"+frequency+"秒钟跑1m!"); } void run(Double frequency,Double Length){ System.out.println("每"+frequency+"秒钟跑"+Length+"m!"); } }
5、运行结果:
个人总结,难免有所缺失,如有遗漏错误,欢迎大家补充指出!!!。