黑马程序员技术交流社区

标题: 方法重载的一个小问题 [打印本页]

作者: 顾玲玉    时间: 2013-5-28 11:22
标题: 方法重载的一个小问题
本帖最后由 顾玲玉 于 2013-5-28 15:47 编辑

方法重载的要求是:同一个类中方法名相同,但是参数列表不相同,我的疑惑是为什么方法的返回值类型、修饰符等不能用于区分重载的方法?
作者: 刘正祥    时间: 2013-5-28 11:30
Java的三大特点之一就是多态,一个同名方法在不同的环境中含义就不一样,重载方法的返回值类型的不一样,才能体现一个方法多种用法的特点,才能体现多态,更体现Java的灵活性!
作者: FantasticPie    时间: 2013-5-28 11:50
public class Test {

    public static void main(String[] args) {

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

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

}

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

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

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2