前几天刷微信公众号的时候,看见一道有趣的面试题:
如果一个类里有两个方法,test(String param)和test(Object param),那么调用test(null)的时候,会出现什么情况?
我写了一个类:
面试题所述代码编译的时候报错:
编译报错这样一来需要给其中一个方法加上"static"关键字,因为并没有明确指出对象,所以需要加上"static"关键字进行调用。
我有点懵逼了,两个加上关键字之后,输出的竟然是String。我以为是编译顺序的问题,把test(String param)和test(Object param)的顺序调换,结果还是一样。test(Object param)一直在警告The method test(Object) from the type Test is never used locally。
随后我查找了相关资料,发现一个答主的回答很明白,附上链接:https://www.zhihu.com/question/52434671
网友评论