Java-对象数组

328 阅读1分钟

对象数组:

一组基本数据类型的数据可以用数组装,一组对象也可以用数组装
元素是引用类型

public static void main(String[] args) {
    //创建5个圆对象,半径是随机产生, [1,10)之间
    //(1)先声明和创建数组,长度为5
    //元素的类型:Circle
    //一维数组的声明和动态初始化的公式
    //元素的数据类型[] 数组名 = new 元素的数据类型[长度];
    Circle[] arr = new Circle[5];

    //(2)为元素赋值
    //元素类型是Circle,那么必须赋值为Circle的对象
    for (int i = 0; i < arr.length; i++) {
        arr[i] = new Circle();
        arr[i].radius = Math.random() * 10 + 1;
        System.out.println(arr[i].getInfo());
        //因为arr[i]是Circle类型的对象,就可以调用就Circle类中声明的属性和方法
    }
}



public class Circle {
    double radius;
    double area(){
        return Math.PI * radius * radius;
    }
    double perimeter(){
        return 2 * Math.PI * radius;
    }
    String getInfo(){
        return "半径:" + radius + ",面积:" + area() +",周长:" +perimeter();
    }
}

数组的元素如果是引用数据类型,默认值是null。
对象数组中元素存储的是对象的首地址。

image.png

二维数组内存分析

可以把二维数组看成一维数组,元素类型是int[],它就是对象数组了

image.png

image.png