创建数组对象Java

时间:2016-10-11 06:40:35

标签: java arrays oop

我见过许多教程,它描述了数组是对象,它的对象被引用变量引用,如此

int a[]=new int[5];

但令我困惑的是,为了创建一个对象,我们需要构造函数,就像创建一个这样的简单对象一样

box b1=new box();

但是在创建数组对象时我们没有调用任何构造函数,而是我们这样编写int [5]那么这是什么?还有什么是数组对象的数据类型?

2 个答案:

答案 0 :(得分:2)

对象的数组创建语法与基元没有什么不同,例如

Box[] boxArray = new Box[5];

现在,如果要在数组中创建框,可以使用构造函数语法:

boxArray[0] = new Box();

请注意,我继续将box大写为Box,因为以大写字母开头的班级名称基本上是公认的标准。

答案 1 :(得分:1)

来自JLS 4.3.1 - Objects

  

对象是类实例或数组。

对于类实例化,我们需要构造函数。数组不代表类,因此不需要构造函数。类和数组都有不同的创建样式。请参阅JLS 15.9JLS 15.10.1

关于数组的类型,来自JLS 10.1

  

数组类型被写为元素类型的名称,后跟   一些空方括号[]。的数量   括号对表示数组嵌套的深度。

只有少数类/接口能够保存数组,请参阅JLS 4.10.3

修改 因此,int[]或任何其他数组称为引用类型,但不是类。对象由引用类型引用,而不是类。来自JLS 4.3

  

有四种引用类型:类类型(第8.1节),接口   类型(第9.1节),类型变量(第4.4节)和数组类型(第10.1节)。