数组是引用数据类型
数组对象在堆中创建,声明的变量是引用类型,引用存储的是数组对象的地址值,指向数组对象
可以将数组中的元素看成对象的成员变量,只不过类型完全一致而已。
引用类型数组的声明及初始化
public static void main(String[] args) { int[] arr = new int[3]; Person p = new Person("张三", 16, 15000); System.out.println(p);//@1540e19d System.out.println(arr);//[I@677327b6 //1.Person数组---引用类型数组 Person[] persons = new Person[3]; System.out.println(persons);//;@14ae5a5 //2.对引用类型赋值 persons[0] = new Person("张三", 16, 12000); persons[1] = new Person("李四", 18, 25000); persons[2] = new Person("王五", 18, 21000); System.out.println(Arrays.toString(persons)); //[com.hqyj.oop.array.Person@7f31245a, com.hqyj.oop.array.Person@6d6f6e28, //com.hqyj.oop.array.Person@135fbaa4] //所以引用数组是存放的数据的地址值 System.out.println(persons[0].name);//张三 }
引用数组的概念:除了基本类型外的其他类型数组,都叫引用类型数组
数组是对象,数组元素可以堪称对象的成员变量
数组的引用存储时数组对象的地址值
对于引用类型数组,数组元素存储的是对象的地址,而不是对象本身。
person[0],person[1],person[2]等价于Person p = new Person(); 没有区别