java - Java中是否有一个数组类

标签 java arrays oop

<分区>

我们知道数组是Java中的对象。我相信要用面向对象的语言创建一个对象(如果没有,我们可以单独讨论),我们需要它的蓝图(一个类)。但是我不确定或找不到在使用 new operator 时为数组创建对象的类。如果java中有一个数组类,那么层次结构会是什么样子?

如果没有类,那么对象是如何实例化的呢?没有类的对象类型背后的原因是什么?

最佳答案

数组是由虚拟机使用称为newarray 的特殊指令创建的,因此将它们视为一种特殊结构。

来自 JVM Spec :

3.9. Arrays

Java Virtual Machine arrays are also objects. Arrays are created and manipulated using a distinct set of instructions. The newarray instruction is used to create an array of a numeric type. The code:

另请阅读 JLS 中的更多内容用于数组的类层次结构。

The direct superclass of an array type is Object.

关于java - Java中是否有一个数组类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16536672/

相关文章:

java - 如何正确配置 gradle build 以避免从生成的 jar 中包含 log4j 和 slf4j?

java - 如何检测用户是否单击窗口标题栏或 Java 中窗口边框的任何其他部分

c# - 将接口(interface)声明为由类实现

javascript - 如何在 Javascript 类中声明只读静态属性?

java - 如何理解我的类的属性是否发生了变化

java - SHAppBarMessage 和自动隐藏

arrays - 普通数组与可分配/指针数组,Fortran 建议?

JavaScript:替换数组中的字符串

javascript - 更新数组,反射(reflect)变化?

python - 如何在 Python 中使私有(private)变量不可访问?