本页面更新日期: 2016年06月30日
引用类型数组的数组元素是 引用.
我们之前学习过的基本类型数组, 它里面的数组元素存放的是具体的值.
可以当作我们现实生活中的买房, 基本类型数组呢, 就像是你直接找到了房主.
而引用类型数组就像是你没有直接找到房主, 而是通过中介找到了房主.为了更好的说明引用类型数组的运行过程, 下面先定义一个 Person 类 (所有类都是引用类型). 关于定义类/对象和引用的详细内容之后我们会讲到, 我们先雾里看花一下. 以下代码只需要看, 不需要敲出来.
class Person { public int age; //年龄 public double height; //身高 //定义一个 info 方法 public void info() { System.out.println("我的年龄是:" + age + "我的身高是:" + height); } }
下面的代码将定义一个 Person[] 数组, 接着动态初始化这个 Person[] 数组, 并为这个数组的每个数组元素指定值.
public class ReferenceArrayTest {
public static void main(String[] args) { //定义一个 students 数组变量, 其类型是 Person[] Person[] students; //执行动态初始化 students = new Person[2]; //创建一个 Person 实例, 并将这个 Person 实例赋给 zhang 变量 Person zhang = new Person(); //为zhang所引用的 Person 对象的 age/height赋值 zhang.age = 15; zhang.height = 158; //创建一个 Person 实例, 并将这个 Person 实例赋给 lee 变量. Person lee = new Person(); //为 lee 所引用的 Person 对象的 age/height赋值 lee.age = 16; lee.height = 161; //将 zhang 变量的值赋给第一个数组元素 students[0] = zhang; //将 lee 变量的值赋给第二个数组元素 students[1] = lee; //下面两行代码的结果完全一样, 因为 lee 和 students[1] 指向的是同一个 Person 实例 lee.info(); students[1].info(); } }

这时我们对 students 执行动态初始化, 系统将为数组元素分配默认的初始值: null , 如下图所示:



比方说, lee 的年龄是 16, 你改为 18. lee 和 students[1] 输出的结果将会是一样的, 因为它们之间产生了关系.
结尾
如果你想学习更多JAVA知识, 可以 点我进入目录页
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177925.html原文链接:https://javaforall.net
