日期:2014-05-20  浏览次数:20720 次

对象的引用和对象本身各是什么意思啊?
比如定义一对象:
ArrayList   myAL=new   ArrayList();
myAL是一个对象,引用它又是么意思呢?

------解决方案--------------------
ArrayList myAL=new ArrayList();
myAL是一个对象,引用它又是么意思呢?
回复:
myAL本身不是对象,而是对对象的引用。对象在内存中被创建,JAVA中只能通过使用对象变量(myAL)来引用内存中的对象。[实际上(myAL)是一个指向内存的指针。建议看看Delphi或者C++]
------解决方案--------------------
new ArrayList()生成了ArrayList()对象,
而ArrayList myAL=new ArrayList();有两个意思
1、生成ArrayList()对象
2、把ArrayList()对象的引用付给myAL
ArrayList myNextAL=myAL;
this statement没有生成新的对象,只是又把myAL付给myNextAL,这两个引用都指向同一个ArrayList对象


------解决方案--------------------
ArrayList myAL=new ArrayList();
myAL是一个对象,引用它又是么意思呢?

对象本身存储在堆内存中,new ArrayList();实现创建对象,而myAL是对象引用。
关系类似箱子和钥匙,对象是箱子,引用是钥匙