锁定老帖子 主题:一道简单的Java题
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-03-06
shootyou 写道 tiandizhiguai 写道 正如sgq0085所说的那样:
public void myMethod(String s) { System.out.println("My String"); } public void myMehtod(Integer i){ System.out.println("My Integer"); } 能正确编译,也能正常运行,而且始终执行String参数的方法,这又是为什么呢? 差点被忽悠了。。。你知道为什么吗?那是因为他把myMehtod拼错了。。。拼对的情况下是不会通过的。。。 我擦。犯这种错误。太不应该了。。 上学那会,这叫非智力性错误,每次考试,老师都会强调不要犯非智力错误。 |
|
返回顶楼 | |
发表时间:2012-03-06
编译都没法过,he method myMethod(Object) is ambiguous .....
|
|
返回顶楼 | |
发表时间:2012-03-06
编译错误吧。
|
|
返回顶楼 | |
发表时间:2012-03-09
如果回答报错的人,以后就别来java eye了,说明你的基础为0. 一个方法接受null为再正常不过的事了,睁着眼睛说瞎话。
|
|
返回顶楼 | |
发表时间:2012-03-09
我想JVM设计者应该是从最小类型到大类型匹配设计的,只要这样才是符合需求的。
例如:三个方法method(int i),method(Integer i), method(Object i),如果你这样调用method(100),编译器都会调用到method(Object i)的方法,那么你告诉我你用哪种方式才能调用到method(int i)呢? 不妨多问两个为什么,所以我说上面回答报错的人,JAVA基础为零呢! |
|
返回顶楼 | |
发表时间:2012-03-09
qiang106 写道 Object比String更泛,也就是说String比Object更精准,
优先调用更精准的重载 一语中的 |
|
返回顶楼 | |
发表时间:2012-03-09
孔乙己~~
|
|
返回顶楼 | |
发表时间:2012-03-10
keke8614 写道 如果回答报错的人,以后就别来java eye了,说明你的基础为0. 一个方法接受null为再正常不过的事了,睁着眼睛说瞎话。
你看了扩展的那个能过吗?应该把前文都看完,太不淡定了.... |
|
返回顶楼 | |