例如
有个类 class person
那么person p 与 person pp=new person();内存中什么区别

解决方案 »

  1.   

    p没有指向任何内存地址  值为 null
    pp指向了一个person对象的内存地址  值不为null
      

  2.   

    Person p 只在栈中有个变量标识,堆内存中没有分配 所以他指向一个null
    而 Person pp = new Person() 不仅在栈中有变量标识,而且堆内存中已经分配空间.
      

  3.   

    那么person p 与 person pp=new person();内存中什么区别?
    person p 只是在内存中申明一下,所以只给引用变量p分配了一点内存,但是p指向的值是null,所以没分配空间。person pp=new person() 当然引用变量pp分配了空间,对象new Persion()也分配了空间