方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。
简单的说:方法重载就是方法名称重复,加载参数不同。
从以上两点看出,定义两个同名但参数类型不同的方法属于方法重载。但在一个类中定义两个名称和参数列表相同,但返回值类型不同或修饰符不同的方法不叫方法重载,因为“方法重载就是方法名称重复,加载参数不同”,你虽然返回值类型或修饰符不同,但加载参数是一样的,所以不叫方法重载。
我个人这样理解:当你调用一个方法的时候,由于java语法规定,你不能写上该方法的任何修饰符或它的返回值类型,只能写上方法名和对应的参数值,所以,当你调用一个方法的时候,虽然该方法的修饰符或它的返回值类型不相同,参数列表一样,但此时只是拿参数列表来参考,没有拿方法的修饰符或它的返回值类型来参考,所以此时系统还是分辨不出你是调用哪一个方法。