null 是 java 中的一个类吗?

2022-09-04 05:18:41

根据,http://www.freshvanilla.org:8080/display/www/Java+Interview+Questions

哪个类是每个类的超类?

null似乎是答案。

我发现

 new Object().getClass().getSuperClass()

验证答案是否正确。但可以被认为是一个类吗?null

我看到所有基元数据类型都表示为java.lang.Class文档中的对象Class


答案 1

这是一个棘手的面试问题。我很确定他们正在寻找的答案是,而不是。 不是一个类。返回时的含义是“没有超类”。 只是引用可以具有的特殊值。如果 是一个类,您将能够实例化类型 。分配给任何其他类型的引用也没有意义。ObjectnullnullgetSuperClassnullnullnullnullnull


答案 2

我认为对象类就是答案。

来自 javadoc。

new Object().getClass().getSuperClass()

如果此类表示 Object 类、接口、基元类型或 void,则返回 null。这并不意味着 null 是 supperclass。

如果 null 是一个类,我认为它必须是 Null。null 不是一个类。