我总觉得引用就是指针。下图的理解是否正确? 

解决方案 »

  1.   

    不是,引用是引用,指针是指针,c里也有引用,但和java的引用也不尽相同。
    从内存模型的角度来说,图的理解基本正确,只是number是在本地栈里,number的内存里存的是堆内存double[5]数组对象的首地址
    java没有指针,而且为了安全也不允许有指针。
    指针允许地址偏移计算,如number+5,对应于number[5],很显然java的引用不行
      

  2.   


    number+5指针越位了吧,本例最多number+4。
      

  3.   

    JDK1.2之前引用的定义为如果reference类型的数据中存储的数值代表的是另一块内存的起始地址,就称这块内存代表一个引用。
    在我看来就是指针