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() 

面向对象在内存中的分配


  

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页