在Java语言中,允许同一个类中包含多个相同名称的方法,这种现象被称为方法的重载,又称为静态多态性。对于这些同名方法,Java语言规定用参数的类型、数量和顺序进行区分。因此重载的方法必须在参数类型、数量、顺序3个方面至少有一个方面是不相同的。
方法重载有不同的表现形式。
class C1{
public String Sum(String para1, String para2) {
//两个String类型的参数
return "";
}
public int Sum(int para1, int para2){
//两个int类型的参数
return 0;
}
}
class C2{
public int Sum(int para1, int para2) {
//参数数量为2
return 0;
}
public int Sum(int para1, int para2,int para3){
//参数数量为3
return 0;
}
}
class C3{
public double Sum(int para1, double para2) {
//参数类型的顺序是: int, double
return 0.0;
}
public double Sum(double para1, int para2){
//参数类型的顺序是: double, int
return 0.0;
}
}
调用重载方法时,通过传递给它们的参数,由系统自动决定具体使用哪种方法,这就是所谓的多态性。
在同一个类中,有时需要提供多个构造方法,分别完成不同的初始化任务。
【例3-5】在顾客类Customer中,创建3个构造方法。
功能实现:定义一个顾客类Customer,并定义3个构造方法;在主方法中调用不同的构造方法创建该类的三个对象,并输出对象的信息。
程序运行的结果如图3-11所示。
图3-11 例3-5的运行结果