Java有趣面试题:方法不明确调用

前几天刷微信公众号的时候,看见一道有趣的面试题:

如果一个类里有两个方法,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

你可能感兴趣的:(Java有趣面试题:方法不明确调用)