可以把代码修改成这样试一下啊
- public class Test {
- public static void main(String[] args) {
- test(null);
- }
- public static void test(Object o){
- System.out.println("o");
- }
- public static void test(String s){
- System.out.println("s");
- }
- }
复制代码 结果输出
s
所以是调用了test(String s)方法。
String是Object的子类,调用重载方法的时候优先调用范围小的(这里就是参数为String对象的)。
我是这么理解的暂时。 |