看书的时候(java开发技术大全)看到这句话在3.3.2节中,所有的对象都是实例成员变量。它们的最大特色是:如果所属的对象没有被创建,它们也就不存在。被这句话搞的有点糊涂了。(最大特色:如果所属的对象没有被创建,他们也就不存在)   为什么这样说? 应该是先定义了这个变量他们才可以用的呀?既然定义了应该就存在了,这个和他后来所属的对象关系不大吧? 怎么可以说不存在呢? 不是很明白,特请教。这一页的电子版http://book.csdn.net/bookfiles/930/10093029236.shtml在3.3.3  实例成员变量和静态成员变量这一快

解决方案 »

  1.   

    如果对象只是声明但并没有实例化,那么就没有分配内存,当然也不存在了
    例:String str; //声明,但并没有实例化
        String str = new String("123"); //声明同时实例化,这时就分配了内存,可以调用了
      

  2.   

    只有所属的对象被实例化,也就是被创建,才会分配内存。对象属性才会被初始化。才能使用。
    建议看下深入java虚拟机。类型的生命周期。你应该能深刻的明白类似的问题。