今天在复习八股的时候,突然看到八股提到Java的重载方法,方法返回值可以不同。于是我就去百度,发现答案是不可以。
带着这个矛盾的结论,我仔细研读了几个帖子,其实结论是这样的:
如果方法名和参数都是一样的,只依靠方法返回值类型的不同,或者方法返回值的不同,编译器是无法区分该调用哪个方法的,所以不能只依靠方法返回值不同来实现方法的重载。
如果一个方法的参数不同了,也就是已经满足了重载的条件了,这个时候,方法返回值就可以不同了。
总而言之,方法的返回值不同不能实现重载,而已经满足重载条件的方法,其返回值可以不同。