Java淺談數組之內存分析(二)
阿新 • • 發佈:2017-10-15
說明 變量賦值 com logs .info clas code new blog
引用類型的數組的初始化
1數組元素是引用時的內存分析
package com.java.array; class Person{ public int age;//年齡 public double height;//身高 //定義一個info方法 public void info(){ System.out.println("我的年齡是:"+age+",我的身高是:"+height); } } public class ArrayTest2 { public static void main(String[] args) {//定義一個student數組變量,其類型是Person[] Person []students; //執行動態初始化 students=new Person[2]; //創建一個Person實例,將這個實例賦值給變量zhang Person zhang=new Person(); //為張所引用的Person對象的age和height賦值 zhang.age=18; zhang.height=175; //創建一個Person實例,將這個實例賦值給變量wang Person wang=newPerson(); //為張所引用的Person對象的age和height賦值 wang.age=24; wang.height=170; //將zhang變量賦值給第一個數組元素 students[0]=zhang; //將wang變量賦值給第二個數組元素 students[1]=wang; //下面兩行代碼的結果完全是一樣的 //因為wang和students[1]指向的是同一個Person實例 wang.info(); students[1].info(); } }
下面將上面的代碼轉化為存儲示意圖說明:
Java淺談數組之內存分析(二)