在Java中数组属于什么类型

来源:百度知道 编辑:UC知道 时间:2024/08/21 11:06:41
是属于引用数据类型吗?它是实现或继承自哪个接口(或类)?

Java中数组的类型
Java是一种强类型的语言。既然是对象, 那么就必须属于一个类型,比如根据Person类创建一个对象,这个对象的类型就是Person。
int[] a1 = {1, 2, 3, 4};
System.out.println(a1.getClass().getName());
//打印出的数组类的名字为[I

String[] s = new String[2];
System.out.println(s.getClass().getName());
//打印出的数组类的名字为 [Ljava.lang.String;

String[][] ss = new String[2][3];
System.out.println(ss.getClass().getName());
//打印出的数组类的名字为 [[Ljava.lang.String;
虚拟机自动创建了数组类型,可以把数组类型和8种基本数据类型一样, 当做java的内建类型。这种类型的命名规则是这样的。
每一维度用一个[表示;开头两个[,就代表是二维数组。
* [后面是数组中元素的类型(包括基本数据类型和引用数据类型)
在java语言层面上,s是数组,也是一个对象,那么他的类型应该是String[],这样说是合理的。但是在JVM中,他的类型为[java.lang.String。顺便说一句普通的类在JVM里的类型为 包名+类名,也就是全限定名。同一个类型在java语言中和在虚拟机中的表示可能是不一样的。

楼上有些不会的别乱讲!

是引用数据类型。 继承自哪个类,或哪个接口不知道。 只知道c# 的数组是继承自Array 类

数组的标识符本身是一个引用,对象数组的每一个元素也是一个引用(值数组不是)。
扩展自object类。

数组是自己定义的,不需要实现或继承,数组的类型是由数组中的元素来确定的