Java中方法的重载
什么是方法的重载呢?
如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:
如何区分调用的是哪个重载方法呢?
当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:
完整代码如下:
public class HelloWorld {
public static void main(String[] args){ //创建对象,对象名为hello
HelloWorld hello=new HelloWorld();
hello.show();//调用无参show方法
hello.show("tom");//调用带有一个字符串参数的show方法
hello.show("jack",20);//调用带有字符串参数和整型参数的show方法
}
//无参带返回值的方法
public void show(){
System.out.println("welcome");
}
//重载show方法,一个字符串参数
public void show(String name){
System.out.println("welcome:"+name);
}
//重载show方法,两个参数
public void show(String name,int age){
System.out.println("welcome:"+name);
System.out.println("age:"+age);
}
//重载show方法,两个参数顺序不同
public void show(int age,String name){
System.out.println("welcome2:"+name);
System.out.println("age2:"+age);
} }
运行结果:
判断方法重载的依据:
- 必须是在同一个类中
- 方法名相同
- 方法参数的个数、顺序或类型不同
- 与方法的修饰符或返回值没有关系