比如一个类ClassB里声明一个属性如 ClassA classA = new ClassA()  classA 占用10个字节的空间,那么ClassA classA = null 占用空间吗因为有些属性我想先声明,等用真正用的时候再给它赋予它内存空间,以免造成浪费.

解决方案 »

  1.   

    会占用点stack的空间存变量吧。
      

  2.   

    应该不会的,只要没有实例化这个对象,就没有开辟内存空间,同样Stack上也不会保存变量,因为这个变量毫无意义
      

  3.   

    其实真正的是会先声明一个本地局部变量,然后把null(空引用)推送到计算堆栈上。可能会在Stack上开辟一个空间来储存本地局部变量。  跪求大湿解释
      

  4.   

    钻牛角尖的话,ClassA这个变量本身是要占空间的。它实际上是一个指针。指针本身视系统不同占4个字节到8个字节空间。但它没有指向任何有效的内存地址。