仔细观察如下示例代码:
// MethodOverload.java
// Using overloaded methods
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;
}
}
上述示例代码具有特殊之处,其展示了Java的“方法重载(overload)”特性:
java中存在两种多态,重载和重写,后者是与继承有关的多态,这里不再赘述。而前者则是指一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同。
满足以下条件的两个或多个方法构成“重载”关系:
(1)方法名相同;
(2)参数类型不同,参数个数不同,或者是参数类型的顺序不同。
//方法的返回值不作为方法重载的判断条件。
我们可以向方法传递不同的信息,便于让对象根据相应的信息来产生相应的行为。