我以前对java中为什么不能根据返回值进行重载,而只能根据方法的参数进行重载非常不理解。比如void f(){}和int f(){},虽然他们有同样的名字,但是很容易区分。如果我这样做,肯定是没问题的:
int a=int f(){};
因为编译器此时能根据上下文语境明确判断出含义。然而,我们也可能调用一个方法,同时忽略返回值。我们通常把这称为“为它的副作用去调用一个方法”,因为我们并不关心他的返回值,而只是方法调用的效果。so,如果我们像下面这样调用方法f().那么编译器该如何判断此方法的具体调用方式呢?因此,你明白了吧?不能根据返回值去重载方法
本文深入探讨了Java中方法重载的原理,解释了为何不能仅通过返回类型来区分方法调用,而是依赖于参数列表进行区分。详细分析了方法调用上下文的重要性及如何通过上下文明确方法的具体调用方式。
1738

被折叠的 条评论
为什么被折叠?



