首页 > 技术文章 > 方法的重载

sansansan 2016-02-12 15:07 原文

方法的重载

上面使用的max方法仅仅适用于int型数据。但如果你想得到两个浮点类型数据的最大值呢? 

解决方法是创建另一个有相同名字但参数不同的方法,如下面代码所示: 
public static double max(double num1, double num2) {
  if (num1 > num2)
    return num1;
  else
    return num2;
}

如果你调用max方法时传递的是int型参数,则 int型参数的max方法就会被调用; 

如果传递的事double型参数,则double类型的max方法体会被调用,这叫做方法重载; 

就是说一个类的两个方法拥有相同的名字,但是有不同的参数列表。 

Java编译器根据方法签名判断哪个方法应该被调用。 

方法重载可以让程序更清晰易读。执行密切相关任务的方法应该使用相同的名字。 

重载的方法必须拥有不同的参数列表。你不能仅仅依据修饰符或者返回类型的不同来重载方法。 

 

推荐阅读