正所谓“知己知彼”百战不殆,要想弄清楚引用传递,首先要先弄清楚两块内存(即栈内存,堆内存)
栈内存:存放的东西,可以理解为一个整型变量(只能保存一个数值),其中保存的是一块(只能是一块)堆内存空间的内存地址数值,为了便于理解就先把它当成对象的名字吧!
堆内存:存放的东西,可以理解为一个对象的具体信息,每块堆内存的开辟都是使用new关键字完成的
通过下面的代码和图不难看出对象的创建和在各内存的分配是怎样完成的
package com.shxt.bishi;
class Book {
String title;
double price;
public void printinof(){
System.out.println("title:"+title);
System.out.println("price:"+price);
}
}
public class TestInstant{
public static void main(String[] args) {
Book book=null;//声明对象
book=new Book();//实例化一个是对象
book.title="java思想";//设置类中的属性
book.price=60.0;//设置类中的属性
book.printinof();//调用方法
}
}
未完待续。。。。
原文:http://www.cnblogs.com/zwynb/p/5854768.html