Java中方法的重载

 

问: 什么是方法的重载呢?

答: 如果同一个类中包含了两个或两个以上方法名相同、方法参数的个数、顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了。如下所示 4 个方法名称都为 show ,但方法的参数有所不同,因此都属于方法的重载:

public void show(){
  System.out.println("Welcome");
}
public void show(String name){
  System.out.println("Welcome"+name);
}
public void show(String name,int age){
  System.out.println("Welcome"+name);
  System.out.println("age:"+age);
}
public void show(int age,String name){
  System.out.println("Welcome2"+name);
  System.out.println("age2:"+age);
}

问: 如何区分调用的是哪个重载方法呢?

答: 当调用被重载的方法时, Java 会根据参数的个数和类型来判断应该调用哪个重载方法,参数完全匹配的方法将被执行。如:

public static void main(String[] args){
  HelloWorld hello = new HelloWorld();
  hello.show();//调用无参的show()方法
  hello.show("Tom");//调用有一个字符串参数的show()方法
  hello.show("Tom",20);//调用字符串参数和整型参数的show()方法
  hello.show(20,"Tom");//调用整型参数和字符串参数的show()方法
}

判断方法重载的依据:

1、 必须是在同一个类中

2、 方法名相同

3、 方法参数的个数、顺序或类型不同

4、 与方法的修饰符或返回值没有关系

posted @ 2017-06-16 13:49  Queenayao  阅读(376)  评论(0)    收藏  举报