java学习day6-二维数组和面向对象的内存分配
1.二维数组的定义:元素是一维数组的数组
格式: 数据类型[][] 数组名 = new 数据类型[m][n]
数据类型[][] 数组名 = new 数据类型[m][];
数据类型[][] 数组名 = new 数据类型[][]{{...},{...},{...}};
数据类型[][] 数组名 = {{...},{...},{...}};
2.二维数组在内存中的分配
二维数组是一个引用类型,引用类型是个对象,对象的默认值为null
定义二维数组时,会在堆内存为其分配内存空间(必须知道二维数组的行数,即一维数组的个数,才能够为其分配内存空间),首先给一个地址值0x001给arr,然后为二维数组里的一维数组分配内存空间,分别给一个地址值给一维数组,即0x0001给arr[0],0x0002给arr[1],0x0003给arr[2]。如果arr[3][]第二个元素值没有给出(相当于里面的一维数组的元素个数不知道),即以格式2定义二维数组,那么就无法为一维数组静态的分配内存空间了,即打印出来的arr[0],arr[1],arr[2]地址值是默认值null,可以动态的为其分配内存空间
内存分配图:
3.面向对象
类:成员变量 -定义在类中,方法之外
成员方法- public void xxx()
面向对象在内存中的分配