「小马哥每日一问」2019.07.08 期

发布于 2022-09-11 20:58:00 字数 525 浏览 20 评论 0

问题描述

public class Confusing {
    public Confusing(Object o) {
        System.out.println("Object");
    }
    public Confusing(double[] dArray) {
        System.out.println("double array");
    }
    public static void main(String args[]) {
        new Confusing(null);
    }
}

以上程序输出内容是?

(a) Object
(b) double array
(c) 以上都不是

注:每期的「小马哥每日一问」将累计在「小马哥技术周报」 直播中解答

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

感情废物 2022-09-18 20:58:00

这里应该是most specific 原则吧,所有double[]类型参数都可以是Object,但不是所有Object都是double[]。所以在这里Confusing(double[] dArray) 更加 specific。选b

最后给小马哥打call。B站上有关注小马哥的技术周报。

未央 2022-09-18 20:58:00

记得应该是当多个方法签名都符合时,取相对具体的(子类的)一个

春夜浅 2022-09-18 20:58:00

选择b double array

落叶缤纷 2022-09-18 20:58:00

留下电话,大家给你打call

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文