Java方法重载
文章的总体布局
1首先我们先来了解为什么要使用方法重载
2 什么是方法重载
3 与方法重载相关的因素
4 与方法重载无关的因素
1.首先我们先来了解为什么要使用方法重载
如下方代码块所示,代码块中的代码都是功能类似的方法,但是方法名却都不同这样子导致很难记忆,太过于麻烦
1 package cn.itcast; 2 3 public class Test { 4 public static void main(String[] args) { 5 sum(); 6 sum1(1); 7 sum2(1,2); 8 sum3(1,2,3); 9 } 10 11 public static int sum() { 12 return 0; 13 } 14 public static int sum1(int a) { 15 return a; 16 } 17 public static int sum2(int a,int b) { 18 return a+b; 19 } 20 public static int sum3(int a,int b,int c) { 21 return a+b; 22 } 23 24 }
2.重载
java就有了重载这个概念来解决这种问题,那么何为重载呢?
所谓重载就是多个方法的名称一样,但是参数列表不一样(指的是参数的个数和类型),其好处就是记住唯一的方法名,就可以实现多个类似的功能
如下方代码块所示
1 package cn.itcast; 2 3 public class Test { 4 public static void main(String[] args) { 5 sum(); 6 sum(1); 7 sum(1,2); 8 sum(1,2,3); 9 } 10 11 public static int sum() { 12 System.out.println("没有参数的方法被执行了"); 13 return 0; 14 } 15 public static int sum(int a) { 16 System.out.println("含有2个参数的方法被执行了"); 17 return a; 18 } 19 public static int sum(int a,int b) { 20 System.out.println("含有2个参数的方法被执行了"); 21 return a+b; 22 } 23 public static int sum(int a,int b,int c) { 24 System.out.println("含有3个参数的方法被执行了"); 25 return a+b+c; 26 } 27 28 }
由运行结果可知代码执行正确
3. 与方法重载相关的因素
1 .参数的个数不同
package cn.itcast; public class Test { public static void main(String[] args) { int a; a=sum(); System.out.println(a); a= sum(1); System.out.println(a); } public static int sum() { System.out.println("没有参数的方法被执行了"); return 0; } public static int sum(int a) { System.out.println("含有1个参数的方法被执行了"); return a; } }
运行结果
2.参数的类型不同
1 package cn.itcast; 2 3 public class Test { 4 public static void main(String[] args) { 5 sum(10); 6 sum("我是字符串"); 7 } 8 public static void sum(String a) { 9 System.out.println("字符串参数的方法被执行了"); 10 11 } 12 public static void sum(int a) { 13 System.out.println("数字参数的方法被执行了"); 14 } 15 }
运行结果

3参数的多类型顺序不同
1 package cn.itcast; 2 3 public class Test { 4 public static void main(String[] args) { 5 sum("字符串一号",10); 6 sum(20,"字符串二号"); 7 } 8 public static void sum(String b,int a) { 9 System.out.println("字符串的值:"+b); 10 System.out.println("数值的值:"+a); 11 12 } 13 public static void sum(int a,String b) { 14 System.out.println("字符串的值:"+b); 15 System.out.println("数值的值:"+a); 16 } 17 }
运行结果
4 与方法重载无关的因素
1返回值的类型
如图所示二者的方法名相同,但是返回值的类型不同,会报错

2参数的名称
二者的参数名不同,方法名及返回值相同,函数报错

以上就是方法重载的一些基本知识,如果有哪些地方有不足或则错误之处还请大家批评指正
博客地址:https://www.cnblogs.com/pjhaymy/