Java中 数组是类吗?

来源:百度知道 编辑:UC知道 时间:2024/05/15 10:24:33
数组在Java中到底算是类吗?

int arr[]={3,4,5,6};
System.out.println(arr.toString());
System.out.println(arr.getClass());
返回的结果是
[I@a90653
class [I

[I是Java中的数组的类名了?呵呵

就是好奇,没有实际意义

数组不是常规的类,但是也不能说它就不是类.因为特殊.
一个东西是不是类怎么界定呢? 说法很多.
有人说要能够使用newInstance()获取新实例,有人说要能通过getClass得到类原型,还有说有构造函数是类的必要条件.
但是偏偏的,数组的newInstance()就会报错,却可以得到类原型,然后通过原型查询其构造函数又会发现数组没有构造函数,所以怎么看待数组,要看个人理解了.

关于得到class [I,是因为你的数组成员指定是Int,你用Button试试,再自己写个类MyClass,然后 MyClass[] c=new MyClass[5];看看有何不同呵呵.

这里是一篇比较精辟的文章,但是有些观点我不敢苟同.烦劳一看.
http://dev.csdn.net/author/DeepNightTwo/afb7e220bdf5423ba656f84b6a183b44.html

是类!如果你看下面的例子的话你就可以明白了
整形数组类的建立
int[] arr = new int[8];
JAVA里面任何需要用到 new 关键词的东西都是对象
你的代码里面因为虚拟机自动根据你的赋值({3,4,5,6};)把整形数组类的对象生成好了.所以在代码上有点混淆..

数组是数组,类是类,请不要混淆,数组不过是一种复合数据类型,和类还有接口地位平等

数组在任何一种语言都不能算作类的

是类,它有自己的方法,在JAVA中只有很少的几个内在数据类型