为何不能通过返回值来区分重载方法

更新时间:02-10 教程 由 枝桠 分享

为何不能通过返回值来区分重载方法?

在java中,重载是其一个非常重要的特性。使用重载,我们就好比是用相同的词表达多种不同的含义。

方法重载的规则很简单,就是每个重载的方法都必须有一个独一无二的参数类型列表,什么是独一无二的参数类型,即参数个数不同、参数类型不同、参数顺序不同。那么对于以返回值来区分重载方法是否可行呢?

比如下面两个方法,虽然他们有同样的名字和形式,但却很容易区分它们:

Java代码voidf(){}intf(){reurn1;} 只要编译器可以根据语境明确判断出语义,比如在int x =f()中,那么的确可以据此却分重载方法。

不过,有时你并不关心方法的返回值,你想要的是方法调用的其他效果,这时你可能会调用方法而忽略其返回值。

所以,如果像下面这样调用方法:f();此时Java如何才能判断该调用哪一个f()呢?

因此,根据方法的返回值来区分重载方法是行不通的。

声明:关于《为何不能通过返回值来区分重载方法》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2199478.html