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参数的名称
二者的参数名不同,方法名及返回值相同,函数报错
以上就是方法重载的一些基本知识,如果有哪些地方有不足或则错误之处还请大家批评指正