【发布时间】:2012-01-22 16:59:18
【问题描述】:
这里是 java 包树: http://docs.oracle.com/javase/7/docs/api/java/lang/package-tree.html
我阅读了一篇关于 Java 的教程,其中指出在 Java 中数组是对象。
数组类在哪里?为什么我们可以制作这样的数组:
byte[] byteArr = new byte[];
char[] charArr = new char[];
int[] intArr = new int[];
并且数组将继承 Object 的方法;例如:
byte thisByte = 1;
byte thatByte = 2;
byte[] theseBytes = new byte[] {thisByte, thatByte};
int inheritance = theseBytes.length; //inherited 'length' field and some methods
int wasntInWill = thatByte.length; //error
这是怎么回事?
编辑:
根据答案,我现在知道它是java.lang.reflect 包中的final 类。
我现在已经在我的 Android 项目中创建了一个包 java.lang.reflect,并向其中添加了一个名为 Array.java 的类。为了确认这是在原始类中的方式,Eclipse 给了我错误“...已经存在于 path/to/android.jar”
如果我写出与java.lang.reflect.Array 相同的类,但更改toString() 方法...这应该在我的应用程序中工作,对吧?
【问题讨论】:
-
数组是对象,但构造语法与通常的 java 对象略有不同
-
错了。它不是“
java.lang.reflect包中的final类”。