方法重载,即在同一个类中定义多个方法,它们的方法名相同,但参数列表不同。
(实现方法重载,要求同名的方法要么参数的个数不同,要么参数的类型不同,但是应该注意到的是仅仅返回值不同不能区分重载的方法)
在每一个重载的方法中,你需要打印相应的语句,以便区分不同的方法。这样,当你调用这些方法时,程序会根据传入的参数类型自动选择调用哪个方法。这是Java中的一种重要的编程技巧,可以让你更加灵活地使用方法。
package demo;
public class Welcome{
public static void main(String[] args)
{
Welcome varyuse = new Welcome();
varyuse.cal();
varyuse.cal(100);
varyuse.cal(100,100);
}
public void cal(int x) {
System.out.println("You have used the cal,and the number is " + x);
}
public void cal(int x ,int y){
System.out.println("You have used the cal,and the number is " + (x+y));
}
public void cal() {
System.out.println("There is no parameter");
}
}
上面定义了三个重载的方法cal,结果分别如下
在调用重载的方法时,还可能发生自动类型的转换。假设没有定义一个带int 参数的cal方法,而是只有带有double类型的参数,那么会自动转换,但是小编在把两个类型再换一下后发现,会报错,那么就说明,这个自动转换是不可靠的,那么我们在使用的时候就应该注意类型的对应性
可以稍微区分这两张图
通过方法的重载可以实现编译时的多态(静态多态),编译器根据参数的不同调用相对应的方法,具体调用哪个方法是由编译器在编译阶段决定的。我们常常使用的println()语句就是重载方法的典型例子,它可以接受各种类型的参数。