「小马哥每日一问」2019.07.08 期
问题描述
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这里应该是most specific 原则吧,所有
double[]
类型参数都可以是Object
,但不是所有Object
都是double[]
。所以在这里Confusing(double[] dArray)
更加 specific。选b
。最后给小马哥打call。B站上有关注小马哥的技术周报。
记得应该是当多个方法签名都符合时,取相对具体的(子类的)一个
选择b double array
留下电话,大家给你打call