第十三、Java面向對象之內存分析


例一:

//汽車
class Car {
	//汽車應該具備的屬性
	int num;
	//汽車具備的顏色
	String color;
	//汽車跑的行爲
	public void run(){
		System.out.println(num+"輪子的汽車跑起來啦");
	}
}
public class CarDemo{
	
	public static void main(String[] args)
	{	//創建實體,並且給該實體起一個名字
		Car c = new Car();
		c.color = "red";
		c.num = 4;
		c.run();//指揮車進行運行。調用格式:對象.對象成員
		
	}
}


以上代碼在內存中的分析如下:





例二:

public static void main(String[] args)
	{	//創建實體,並且給該實體起一個名字
		Car c = new Car();
		Car c1 = new Car();
		c.color = "red";
		c1.num = 4;
		System.out.println(c1.color);
		c.run();//指揮車進行運行。調用格式:對象.對象成員
		
	}

這段代碼的內存如何呢?且看下圖





例三:

public static void main(String[] args)
	{	//創建實體,並且給該實體起一個名字
		Car c = new Car();
		Car c1 = c;
		c.color = "red";
		c1.num = 4;
		c1.color = "green";
		System.out.println(c1.color);
		c.run();//指揮車進行運行。調用格式:對象.對象成員
		
	}

內存分析圖如下:









發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章