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

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工程师#
全部评论
array。因为null可以理解为Java中的句柄,指向一个空地方,在test只有第二个构造函数的参数为句柄,所以选择array
点赞 回复 分享
发布于 2017-06-24 08:59
http://onlykai.me/2017/06/24/Java%E4%B8%AD%E7%9A%84null/
点赞 回复 分享
发布于 2017-06-24 15:31
array
点赞 回复 分享
发布于 2017-06-23 22:34
arry
点赞 回复 分享
发布于 2017-06-27 08:58
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

相关推荐

10-25 12:05
已编辑
湖南科技大学 Java
若梦难了:我有你这简历,已经大厂乱杀了
点赞 评论 收藏
分享
11-01 08:48
门头沟学院 C++
伤心的候选人在吵架:佬你不要的,能不能拿户口本证明过户给我。。球球了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务