返回值类型的不同不能作为区分重载的途径

      对于重载方法,不要试图通过给予不同的返回值类型(参数列表完全相同)加以区分。因为方法在调用时可以不将返回值赋值给一个对应的变量,这样就没有特征区分。也不要试图通过在调用这样的重载方法时赋值给对应的变量加以区分,因为问题是出现在重载方法定义上,而不是调用上。总而言之,Java不允许仅仅利用返回值的不同来区分重载方法。
 
//ReturnValueTest.java
//You cannot distinct the difference between overloading methods through different return values
 
public class ReturnValueTest{
    void showMessage(){
    System.out.println("This method returns a void value.");
    }
   
    //编译器将会报错,告诉你showMessage()已经定义
    /*String showMessage(){
    System.out.println("This method returns a String value.");
    return "Hi, I return a String value.";
    }*/
 
    public static void main(String[] args){
        ReturnValueTest rObj=new ReturnValueTest();
        //无法区分调用的是哪个showMessage(),不要以为放在println()中就会自动识别为String  showMessage()
        //System.out.println(rObj.showMessage());
        //String s=rObj.showMessage();
        //System.out.println(s);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值