一、什么是重载
重载,从简单说,就是函数或者方法有相同的名称,但是参数列表不相同的情形,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者重载方法。在Java中同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。这种情况下,该方法就被称为重载,这个过程称为方法重载;其实我通俗的理解就是省了给method重新命名了,差不多的都用一个。
- 重载例子:
public class OverloadDemo { //1. test()方法第一次重载,没有参数 void test() { System.out.println("No parameters"); } //2. test()方法第二次重载,一个整型参数 void test(int a) { System.out.println("a: " + a); } //3. test()方法第三次重载,两个整型参数 void test(int a, int b) { System.out.println("a and b: " + a + " " + b); } //4. test()方法第四次重载,一个双精度型参数 double test(double a) { System.out.println("double a: " + a); return a * a;//返回a*a的值 } }
讯享网
- 输出结果:
讯享网public class Overload { public static void main(String args[]){ OverloadDemo ob=new OverloadDemo(); double result; ob.test(); //定义的是test()方法 ob.test(10); //定义的是test(int a)方法 ob.test(10,20); //定义的是test(int a,int b)方法 result=ob.test(123.23); //定义的是test(double a)方法 System.out.println("result of ob.test(123.23): "+result); //输出result的值 } } 运行结果: No parameters a: 10 a and b: 10 20 double a: 123.23 result of ob.test(123.23): 15185.6329
二、重载的作用
1. 方法重载的主要好处就是不用为了对不同的参数类型或参数个数,而写多个函数。多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。如果我们使用reflector去查看微软写的.net的基类库的话,我们可以发现他使用很多的方法重载,这样我们在调用的时候,就不需要记那么多的方法名称,而是知道了方法的功能就可以直接的给他传递不同的参数,编译器会明确的知道我们调用了哪一个方法。重载比if...else要优雅,减少了if...else部分的代码。
2. 重载的最直接作用是方便了程序员可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。
三、重写与重载之间的关系
既然聊到了什么是重载?重载的作用?这个话题,那么同样的避不开对于重写的理解,以及重写与重载之间的关系。
欢迎阅读:什么是重写?重写的作用?

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/48878.html