gpt4 book ai didi

java - null是引用类型,是String引用还是Object引用?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:13:27 25 4
gpt4 key购买 nike

<分区>

null是一个引用,它只是null类型,即null不是对象类型。但是,当我运行以下代码片段时,当我将 null 传递给方法 method(null); 它调用 method(String s) 而不是 method(对象 o).

如果null本身是Java定义的类型而不是对象类型,那为什么调用method(String s)而不是method(Object o) ?

public class Test {
public static void main(String[] args) {
method(null);
}
public static void method(Object o) {
System.out.println("Object impl");
}
public static void method(String s) {
System.out.println("String impl");
}
}

编辑

我又添加了一种方法:

public static void method(Integer s) {
System.out.println("String impl11");
}

现在编译器给出错误The method method(Object) is ambiguous for the type Test

Integer a = null;

如果它是合法的,那为什么我会看到编译时异常?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com