java数组的深入理解.doc

java数组的深入理解.doc

ID:59254651

大小:37.50 KB

页数:4页

时间:2020-09-08

java数组的深入理解.doc_第1页
java数组的深入理解.doc_第2页
java数组的深入理解.doc_第3页
java数组的深入理解.doc_第4页
资源描述:

《java数组的深入理解.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、java数组的深入理解:数组声明type[]name;//typename[];建议第一种声明方式,声明数组不可以指定数组长度,但可以指定维度,用[]来记录数组维度。type[][]name;//2维数组声明name=newtype[number];type[]name=newtype[number];//更多时候数组声明和初始放在一条语句。此时完成数组的初始化,指明数组长度,数组元素还没有显式的赋值,均为默认值。若此时数组类型若为对象类型的数组,此时元素值为null,即空洞。另外数组标识——[]中有显式的数字(

2、变量),一定是在new的时候,其他时候[]中都不需要指定数组长度,只是数组标识。例如数组声明或者方法的形参为数组的时候,type[]即可。为什么要引入数组,数组的必要性统一管理相同类型的数据java中数组是一种最简单的复合数据类型,数组是有序数据的集合,并且可以用一个统一的数组名+下标【索引,偏移量】来进行访问。数组到底是什么?数组是对象的依据1.java中一切皆对象,而且java作为纯面向对象的语言,数组也是一个对象应该也在情理之中。首先先来看下数组创建的语句:type[]name=newtype[num];对

3、象的创建语句:typename=newtype();数组创建没有()来传递参数给构造器,莫非数组没有构造器???2.数组的父类是ObjectnewObject[2].getClass().getSuperClass();返回的应该是Object.class,我这边运行报错,〒_〒插入getClass()方法,返回对应的当前正在运行时的类所对应的对象。getSuperClass()方法,返回当前实体类的父类。因此要想返回当前类的父类可以使用如下代码:super.getClass().getSuperClass().

4、getName();【从某人博客看的,待解决】另外数组没有对应的类文件,因为数组类是运行时产生的。java.lang.reflect.Array类是final修饰,数组不是他的子类,这个类是用来动态生成数组或者操作数组。(newInteger[2]).getClass();结果[Ljava.lang.Integer数组和普通类不一样,以一个全限定路径名+类名作为自己的唯一标识,[外加一个或者多个L+数组元素类全限定路径+类来作为自己的唯一标识,这个也是和普通类的区别。java虚拟机(java指令集)在处理数组和普

5、通类的时候也会有区别。java.lang.reflect.Fieldfieldarr=(newObject[2]).getClass().getField("length");抛出异常:java.lang.NoSuchFieldException:length似乎在说数组类没有length这个域;java数组最多有255维度。数组的进一步探讨int[]arr=null;在java中=运算符用于基本数据类型的时候,将值直接复制给变量,当用于对象时,将对象的地址(引用,指针)传递给该类型变量。在java中数组是一个对

6、象,可以将一个已经创建好的数组对象使用=运算符来指向数组类型变量。int[]a={1,3,4};int[]b=a;int[]c=a;java中数组作为对象的好处1,越界检查,编译器帮助检查越界2,lengthfield,length可以很方便的获取数组的长度,但是不能或许当前数组中实际包含多少元素。3,自动初始化,数组元素通过new关键字开辟空间之后,已经有其默认的数组,此时和数组类型有关,对象类型为null,基本数据类型默认值,0;4,数组作为返回值,既然数组是对象,就可以把数组作为返回值,而且垃圾回收器会自动

7、对其管理。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。