寻求对Object类内置Java的解释

Dan*_*iel 3 java

Object a[] = new Object[2];
a[0] = "asd";
a[1] = 1;
Run Code Online (Sandbox Code Playgroud)

我正在寻求有关如何在Java中实现解释的说明。我确实看过对象的实现,我必须寻求帮助以了解它。

创建变量可以内置任何类型,例如在Python中是内置的,但是在Java中,我们需要Object类。

Object的实现允许它具有任何类型是什么,请解释一下?

Gho*_*ica 7

让我们一步一步走:

  • Object是Java 中所有引用类型的根。任何参考,也是instanceof Object
  • “很明显”,a[0] = "asd";分配一个String。字符串默认为对象。
  • 最后, a[1] = 1;导致自动装箱。您正在将Integer对象分配给该数组插槽,而不是原始 int值1。

当然,协方差在这里也值得一提。