java怎样实现重载一个方法
1、首先,我们先写一个完整的例子。这是一个最原始的方法,如图。以后各个步骤我们陆续进行学习,逐层深入地重载这个方法。
2、开始呢,我们讨论一下访问修饰符对今天讨论内容是否有影响,答案是,访问权限修饰符对方法的重载不影响。也即,它们不是构成不同方法的必要条件。通俗点讲,方法的不同和盟廊巴反访问修饰符是否一致没有任何关系。如图,如果访问修饰符不一致,而参数相同(或者都没有参数)的话,java默认其都为同一种方法,因此编译无法通过,报错。
3、排除了访问修饰符之后,接下来我们讨论一下返回值的不同是否可以是重载的另一种方式,此处,我们就简单地举三个例子,即,返回值为空,返回值为int型和返回值为Object型的三个方法,最后证明,返回值也不是构成重载方法的必要条件,如图:
4、接下来唯一可以区别的就是参数了。我们分情况来练习。第一种,不同的参数,没错,不同的参数一定就是不同的方法了,我们可以再试一试,如图:
5、第四步骤我们说的是不同的参数,并不是对参数的命名的不同,而是指参数类型的不同,我们写出来让事实证明一下。如图,参数类型相同,都为整数类型,但是形参的命名不同,编译无法通过。
6、还有呢,因参数个数不同而造成的重载。我们可以再写个例子,无参方法,一个int参数,两个int参数,如图:
7、到了此时,我们到了重点环节。请问,还有没有其他类型的不同的重载呢?有的!想象一下,参数种类不同,个数相同,有什么办法是之变得不一样吗?对的!妳猜对了!是顺序不同!顺序不同的情况下,依旧是不同的方法,这也就实现重载了。如图:
8、最后,我们总结一下,重载关心的只是耩撞苏粪参数,有参无参,参数类型不同,参数数量不同,不同类型的参数顺序不同,都可以实现方法的重载。最后,为自己写一个测试用的例子,来验证自己的想法,巩固自己知识点的学习。多次这样练习,基本功夫打扎实,将来一定会更上一层楼的!加油!