Which of the following statements about declaration are true?A. Declaration of primitive types such as boolean, byte and so on does not allocate memory space for the variable.B. Declaration of primitive types such as boolean, byte and so on allocates memory space for the variable.C. Declaration of nonprimitive types such as String, Vector and so on does not allocate memory space for the object.D. Declaration of nonprimitive types such as String, Vector ans so on allocates memory space for the object.

解决方案 »

  1.   

    我怎么觉得应该是:B和C基本类型的变量,声明时会分配内存空间。
    引用类型的变量在声明时,不会在堆上分配内存空间,只有用new,或反射机制等。。才会分配内存空间。
      

  2.   

    1,全局变量:
       声明简单变量的时候系统会在stack(堆栈)中给它分配空间并给一个默认值的;
       声明对象的时候,系统也会在stack(堆栈)中给他分配一个对象的指针,但只是指向null,而不是该对象的内存空间。
    2,局部变量:
      声明的时候都会在stack中分配空间(只不过对象的给分配的仍然是对象的指针),并且默认系统都不给初始化,因此只能先初始化才能使用。由以上两点可以看出,BC是正确地。
      

  3.   

    daniel_kaka() 
    谢谢你的解释,明白了。