论坛首页 综合技术论坛

一道简单的Java题

浏览 19955 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-02-21   最后修改:2012-05-11
public class Test {
   
    public void myMethod(String s) {
        System.out.println("My String");
    }
    
    public void myMethod(Object o) {
        System.out.println("My Object");
    }
    
    public static void main(String args[]){
        Test t = new Test();
        t.myMethod(null);
    }
}

问:会打印什么结果,为什么?
   发表时间:2012-02-21  
怎么就没人理我呢?
0 请登录后投票
   发表时间:2012-02-21  
我猜通不过编译。直接报找不到要调用的方法。
0 请登录后投票
   发表时间:2012-02-21  
重载的一个原则就是精确查找

null这里 代表的意思相当于任何对象

相比object,String更加精确

所以输出的是My String



3 请登录后投票
   发表时间:2012-02-22  
iaimstar 写道
重载的一个原则就是精确查找

null这里 代表的意思相当于任何对象

相比object,String更加精确

所以输出的是My String




正解,多谢啦!
0 请登录后投票
   发表时间:2012-02-27  
深入理解JAVA虚拟机上面有一个类似的题目,如果楼主不明白的话,可以看看,说的很详细的。
0 请登录后投票
   发表时间:2012-02-27  
Java Puzzler -- 谜题46:令人混淆的构造器案例
0 请登录后投票
   发表时间:2012-02-28  
报错,编译都不通过。
0 请登录后投票
   发表时间:2012-02-28  
whb1984 写道
Java Puzzler -- 谜题46:令人混淆的构造器案例

0 请登录后投票
   发表时间:2012-02-28  
哎 你要是写这样的代码 估计 其他同仁要哭 你要被问候好多次
刚刚跑了一下
My String
0 请登录后投票
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics