java概念问题

什么是方法重载,可以定义两个同名但参数类型不同的方法吗?可以在一个类中定义两个名称和参数列表相同,但返回值类型不同或修饰符不同的方法吗?

    方法重载是让类以统一的方式处理不同类型数据的一种手段。Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义。调用方法时通过传递给它们的不同个数和类型的参数来决定具体使用哪个方法。

    简单的说:方法重载就是方法名称重复,加载参数不同。

    从以上两点看出,定义两个同名但参数类型不同的方法属于方法重载。但在一个类中定义两个名称和参数列表相同,但返回值类型不同或修饰符不同的方法不叫方法重载,因为“方法重载就是方法名称重复,加载参数不同”,你虽然返回值类型或修饰符不同,但加载参数是一样的,所以不叫方法重载。

    我个人这样理解:当你调用一个方法的时候,由于java语法规定,你不能写上该方法的任何修饰符或它的返回值类型,只能写上方法名和对应的参数值,所以,当你调用一个方法的时候,虽然该方法的修饰符或它的返回值类型不相同,参数列表一样,但此时只是拿参数列表来参考,没有拿方法的修饰符或它的返回值类型来参考,所以此时系统还是分辨不出你是调用哪一个方法。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-10
同一个类中 相同的方法名,参数类型不同. 应用:比如 计算器中的加法add(int a,int b), 加法操作要传两个参数,必须制定类型.但参数可以是整数也可以是小数,这样就要写多个方法add1(double a,double b) add(int a,double b)...等等.. 用的时候还要判断输入参数的类型然后制定相应方法处理. 然后重载的作用就是 可以定义多个同名字的方法(参数类型不同) 外部调用的时候 jvm会根据你传的参数类型 个数 选择相应的方法处理 不用你来指定. 这是我的个人理解 如有错误谢谢指正,希望对你的理解重载这个概念有帮助.
第2个回答  2014-05-10
方法重载的定义是:同一个类中方法名相同参数列表不同的方法称为方法重载。
所以:
可以定义两个同名但参数类型不同的方法,
不可以在一个类中定义两个名称和参数列表相同,但返回值类型不同或修饰符不同的方法。本回答被网友采纳
相似回答