java overload是什么,让我们一起了解一下?
overload是在Java程序中实现方法的重载,同一个类可以有两个或者多个方法名字相同,只要参数不同即可。应当注意的是,必须是在同一个类中、方法名相同、方法参数的个数、顺序或类型不同、与方法的修饰符或返回值没有关系。
overload的规则是什么?
1、方法名称必须相同。
2、参数列表必须不同,即参数个数、参数类型或参数顺序中任有一个不同。
3、方法的返回类型可以相同也可以不同,对此无限制。
4、若仅满足方法的返回类型不同,不属于方法重载。
方法重载的目的是什么?
1、方法重载的主要好处就是,不用为了对不同的参数类型或参数个数,而写多个函数。多个函数用同一个名字,但参数表,即参数的个数或(和)数据类型可以不同,调用的时候,虽然方法名字相同,但根据参数表可以自动调用对应的函数。
2、重载的最直接作用是方便了程序员可以根据不同的参数个数,顺序,类型,自动匹配方法,减少写过个函数名或方法名的重复步骤。
实战案例:
package com.test;
class MyClass {
int height;
MyClass() {
System.out.println("调用无参数构造函数");
height = 4;
}
MyClass(int i) {
System.out.println("调用有参数构造函数");
height = i;
}
void info(int a, String s) {
System.out.println(s+":房子高度为 "+height + " 米");
}
void info(String s, int a) {
System.out.println("参数顺序不同构成重载:" +s + ": 房子高度为 " + height + " 米");
}
int info(int b, int a) {
System.out.println("方法修饰符可以不同" +": 房子高度为 " + height + " 米");
return a+b;
}
float info(int b, int a, float c) {
System.out.println("方法返回值类型可以不同" +": 房子高度为 " + height + " 米");
return a+b;
}
}
public class Ytt {
public static void main(String[] args) {
MyClass t = new MyClass(3);
t.info(1,"测试1");
t.info("测试2",2); //参数顺序不同构成重载
t.info(1,2); //方法修饰符可以不同,方法返回值类型不影响重载
t.info(1,2,6f); //方法返回值类型可以不同
//重载构造函数
new MyClass();
}
}以上就是小编今天的分享了,希望可以帮助到大家。