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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© laoyang 黑马帝   /  2011-11-7 15:35  /  1829 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我们知道在java中可以重载很多方法,但是有没有人系统的总结过这些参数呢?

5 个回复

倒序浏览
。。。。参数类型随便你!!!只要方法签名不一样便可以了。方法签名就是方法名字和参数顺序以及类型。。。与返回值无关。也就是说你第一个参数是int,第二个参数是String,你把两者调换一下,就是方法重载了
回复 使用道具 举报
方法重载只是方法所需用的参数数量不等或者参数列表类型不同,参数类型可以使基本数据类型(char,int,short,long,float,double,boolean)也可以使引用类型( 数组……)
回复 使用道具 举报
override    和  overload   是面试常考的题目  这里我就只说方法重载(overload)吧

方法重载的条件:1. 方法名相同   2.参数个数或参数类型不同  
只要满足上面两个条件就是方法重载, 当参数个数相同,参数的排列顺序不一样,但类型相同,这种情况将被认为是参数类型不同
而返回类型不作为方法重载的判断条件 ,当两个方法不满足重载条件,而方法名相同,返回类型不一样,这种情况是不允许出现的,编译器报错
方法重载可以存在于一个类中,或者子类和父类中也可以存在方法重载
回复 使用道具 举报
在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型不同即可。
回复 使用道具 举报
方法的重载就是俩个方法具有相同的名字但是有不同的参数列表,但是不能基于不同的修饰富或返回值类型重载方法,构造方法可以被重载。这里有个问题,就是编译器是怎么知道要寻找最合适的匹配方法呢,比如求两数最大值,max(3,5)调用max(int num1,int num2)max(3.5,4.6)调用max(double num1,double num2),如果max(2,3.5)该调用哪个呢?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马