Java方法重载
文章的总体布局
1首先我们先来了解为什么要使用方法重载
2 什么是方法重载
3 与方法重载相关的因素
4 与方法重载无关的因素
1、首先我们先来了解为什么要使用方法重载
如下方代码块所示,代码块中的代码都是功能类似的方法,但是方法名却都不同这样子导致很难记忆,太过于麻烦
package cn.itcast;
public class Test {
public static void main(String[] args) {
sum();
sum1(1);
sum2(1,2);
sum3(1,2,3);
}
public static int sum() {
return 0;
}
public static int sum1(int a) {
return a;
}
public static int sum2(int a,int b) {
return a+b;
}
public static int sum3(int a,int b,int c) {
return a+b;
}
}
2、重载
java就有了重载这个概念来解决这种问题,那么何为重载呢?
所谓重载就是多个方法的名称一样,但是参数列表不一样(指的是参数的个数和类型),其好处就是记住唯一的方法名,就可以实现多个类似的功能
如下方代码块所示
package cn.itcast;
public class Test {
public static void main(String[] args) {
sum();
sum(1);
sum(1,2);
sum(1,2,3);
}
public static int sum() {
System.out.println("没有参数的方法被执行了");
return 0;
}
public static int sum(int a) {
System.out.println("含有2个参数的方法被执行了");
return a;
}
public static int sum(int a,int b) {
System.out.println("含有2个参数的方法被执行了");
return a+b;
}
public static int sum(int a,int b,int c) {
System.out.println("含有3个参数的方法被执行了");
return a+b+c;
}
}
由运行结果可知代码执行正确
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、参数的类型不同
package cn.itcast;
public class Test {
public static void main(String[] args) {
sum(10);
sum("我是字符串");
}
public static void sum(String a) {
System.out.println("字符串参数的方法被执行了");
}
public static void sum(int a) {
System.out.println("数字参数的方法被执行了");
}
}
运行结果
3参数的多类型顺序不同
package cn.itcast;
public class Test {
public static void main(String[] args) {
sum("字符串一号",10);
sum(20,"字符串二号");
}
public static void sum(String b,int a) {
System.out.println("字符串的值:"+b);
System.out.println("数值的值:"+a);
}
public static void sum(int a,String b) {
System.out.println("字符串的值:"+b);
System.out.println("数值的值:"+a);
}
}
运行结果
4 与方法重载无关的因素 1返回值的类型 如图所示二者的方法名相同,但是返回值的类型不同,会报错
2参数的名称 二者的参数名不同,方法名及返回值相同,函数报错
以上就是方法重载的一些基本知识,如果有哪些地方有不足或则错误之处还请大家批评指正
博客地址:https://tech.souyunku.com/pjhaymy/