请看下列代码,你发现有什么特殊之处吗?
public class MethodOverload {
public static void main (String [] args) {
System.out.println ("The square of integer 7 is" + square (7));
System.out.println ("\nThe square of double 7.5 is" + square (7.5));}
public static int square (int x) {return x * x;}
public static double square (double y) {return y * y;}
}
这段代码展示了方法重载 的特殊之处。
方法重载是指在同一个类中,可以定义多个同名的方法,只要它们的参数列表(参数的类型、个数、顺序)不同即可。
在这段代码里:
有两个名为 square 的方法,一个参数是 int 类型,返回 int 类型的平方值;
另一个参数是 double 类型,返回 double 类型的平方值。
当调用 square(7) 时,会自动匹配参数为 int 类型的 square 方法;
调用 square(7.5) 时,会自动匹配参数为 double 类型的 square 方法,从而实现了根据不同参数类型调用不同方法来计算平方的功能。