A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 顾玲玉 中级黑马   /  2013-5-28 11:22  /  1493 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 顾玲玉 于 2013-5-28 15:47 编辑

方法重载的要求是:同一个类中方法名相同,但是参数列表不相同,我的疑惑是为什么方法的返回值类型、修饰符等不能用于区分重载的方法?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

4 个回复

倒序浏览
Java的三大特点之一就是多态,一个同名方法在不同的环境中含义就不一样,重载方法的返回值类型的不一样,才能体现一个方法多种用法的特点,才能体现多态,更体现Java的灵活性!

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
public class Test {

    public static void main(String[] args) {

           testA();   //试问怎样区分你调用的是哪一个方法?

    }
   
    static void testA(){
        
    }
   
    static int testA(){
        
    }   

}

当然,这在Eclipse中是直接报错的,不过也说明白为什么不用返回值来作为重载方法。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
方法重载是让类以统一的方式处理不同类型数据的一种手段.首先他们需要有相同名字.而参数不同.是为了让调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。
而方法方法返回值和参数.打表比方:有个穿红衣服打工叫李四的人,红衣代表修饰符。打工代表返回值。你能把每一个打工的。有衣服穿的都叫李四吗?

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报

如果允许参数列表相同,修饰符不同的话,那么调用函数的时候就会出问题了。
因为虚拟机不知道调用的是哪一个函数,这样一来虚拟机会疯的。

评分

参与人数 1技术分 +1 收起 理由
袁梦希 + 1 很给力!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马