第9章 老朋友,新面孔.pdf
文本预览下载声明
第9章 老朋友,新面孔
前面我们学习的Java语法就是Java这个世界的规则。但是只有
规则是没用的,我们必须借助外部资源来构建自己想要的东西。这里
说的资源就是Java类库中的类。甚至连我们第一章到现在一直使用的
向控制台输出内容的“System.out.println”也是属于Java类的。本章
中我们将学习最基本的Java类,熟练使用这些类是构建一个Java程序
的基础。
本章中,我们就来看看之前接触过的类有哪些诱人的方法。
9.1 数组也是类
在前面我们曾经提及过,数组也是类,只不过是一种
特殊的类。它特殊并不是因为它复杂,而是因为它简单。简
单到我们不用自己去定义数组类而是由Java 自己提供数组类
的定义。从学习使用一门编程语言的角度来看,无需去深究
Java是如何定义数组类的。本节中我们将学习数组类中有什
么需要关心的属性和方法。
9.1.1 得到数组的长度
之前关于数组的例程中,我们总是在程序中用一个变量保
存数组的长度。如下。
int len = 9;
int[] arr = new int[9]
当需要遍历数组arr时,我们就使用变量len作为其长度。
其实这是完全不必要的。对象arr本身就有一个属性length来保
存数组的长度。
数组对象的length属性代表了数组中元素的个数。
9.1.2 加餐:不可改变的final变量
我们在前面学习过,数组对象一旦创建出来以后,其中包含的元
素的个数是不能够增减的。也就是说,如果我们想要数组对象的
length变量的值可以代表数组中元素的个数,那么这个变量的值是不
可改变的。
使用final关键字修饰的变量,必须在创建/声明的时候赋初始值
。且这个初始值必须是确定的值(case语句也要求必须是个确定的值
)。
使用final关键字修饰的变量,在赋初始值之后不能再次赋值。
使用final关键字修饰的变量必须在创建时赋值,且赋值后其值不
允许改变。
9.1.3 多维数组的长度
对于多维数组,length属性同样代表数组对象的长度。
这个长度是对应维度的长度,而不是所有元素的长度。
理解多维数组中每个维度的中的length属性的值。
9.1.4 一维数组的clone方法
下面我们学习数组类中的一个方法——clone()方法。clone的意思就
是“克隆”。方法的返回值就是数组的中内容的复制。
数组
0 7
数组的引用:
arr 1 8
2 777 数组
0 7
数组的引用:
数组 arr 1 8
0 7
数组的引用: 2 9
clonedArr 1 8
2 9
显示全部