中兴面试,请问下面程序输出是什么,为什么

public class test {
	public test(Object o){
		System.out.println("object");
	}
	public test(double[][] array){
		System.out.println("arry");
	}
	
	public static void main(String args[]){
		test t=new test(null);
	}

}


#Java工程师#
全部评论
http://onlykai.me/2017/06/24/Java%E4%B8%AD%E7%9A%84null/
点赞 回复 分享
发布于 2017-06-24 15:31
array。因为null可以理解为Java中的句柄,指向一个空地方,在test只有第二个构造函数的参数为句柄,所以选择array
点赞 回复 分享
发布于 2017-06-24 08:59
class Test2 { public Test2() { System.out.println("Test2"); } } class Test3 extends Test2 { public Test3() { System.out.println("Test3"); } } public class TempTest { public TempTest(Test2 o){ System.out.println("TempTest.Test2"); } public TempTest(Test3 o){ System.out.println("TempTest.Test3"); } public static void main(String args[]){ TempTest t=new TempTest(null); } } 事实证明, null会先找带子类形参的构造函数; 如果没有子类的, 再找带父类形参的构造函数. 是一个向上寻找的过程.
点赞 回复 分享
发布于 2017-07-10 09:40
arry
点赞 回复 分享
发布于 2017-06-27 08:58
array
点赞 回复 分享
发布于 2017-06-23 22:34

相关推荐

星辰再现:裁员给校招生腾地方
点赞 评论 收藏
分享
06-25 21:00
门头沟学院 Java
多拆解背记一下当前的高频场景面试题,结合自己的项目经历去作答,面试通过率原来真的不会低!
牛客965593684号:小公司不就是这样的吗,面试要么是点击就送,要么就是往死里拷打,没有一个统一的标准。这个不能代表所有公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务