对象数组:
一组基本数据类型的数据可以用数组装,一组对象也可以用数组装
元素是引用类型
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。
对象数组中元素存储的是对象的首地址。
二维数组内存分析
可以把二维数组看成一维数组,元素类型是int[],它就是对象数组了