1.方法重载的定义
方法重载(overload):若多个方法的方法名相同,参数列表不同,则称这些方法被重载了
方法重载满足:
1.方法名必须相同
2.参数列表不同(参数的个数不同、参数的类型不同、类型的次序不同)
3.与返回值类型是否相同无关(即返回值不作为判断重载的条件)
4.编译器在编译代码时,会对实参类型进行推演,根据推演的结果来确定调用哪个方法
2.示例
//1publicstaticintadd(inta, intb){ returna+b; } //2publicstaticintadd(inta, intb, intc){ returna+b+c; } //3publicstaticdoubleadd(doublea, doubleb){ returna+b; } //4publicstaticdoubleadd(doublea, doubleb, doublec){ returna+b; } //5publicstaticdoubleadd(inta, doubleb){ returna+b; } //6publicstaticdoubleadd(doublea, intb){ returna+b; }
2与1的参数个数不同,3与1的参数类型不同,5与6中参数的类型次序不同,这些方法都被重载了。
当我们调用方法时,通过参数确定调用的方法
错误示例
此时显示错误
两个方法仅返回值类型不同,不能构成重载