开发者社区 问答 正文

关于null的一段测试程序

screenshot
上面这段代码运行给过为何为“String”?我理解object是String的父类级别的,并且null也表示空引用,所以td.test(null)调用结果应该是“object”才对。

展开
收起
蛮大人123 2016-02-19 15:37:47 2054 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    因为String是Object的子类,所以在编译器调用的时候会先去调用子类。所以结果就是String
    一般都是会优先子类的。是一个之下而上的过程。
    我刚刚测试了一下我的猜想
    public static void test(Integer o){
    System.out.println("int");
    }
    如果你加再加这么一个方法,编译就会报错,因为编译器不知道到底去调用哪个方法。

    2019-07-17 18:44:49
    赞同 展开评论
问答标签:
问答地址: