29
2020
11

为什么方法不能根据返回类型来区分重载?

我们来看以下的代码:

 

public void testMethod(){

    doSome();

}

public void doSome(){

    

}

public int doSome(){

    return 1;

}

 

在Java语言中,调用一个方法,即使这个方法有返回值,我们也可以不接收这个返回值,例如以上两个方法doSome(),在testMethod()中调用的时候,Java编译器无法区分调用的具体是哪个方法。所以对于编译器来说,doSome()方法不是重载而是重复了,编译器报错。所以区分这两个方法不能依靠方法的返回值类型。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。