谁能解释一下对象在定义时赋值为空与调用默认构造参数的区别,例如有一个类为T 
T t=null;和 T t=new T();的区别,谢谢!

解决方案 »

  1.   

    T t=null;没有在堆里面分配内存空间
    T t=new T();在堆里面分配了内存空间。
      

  2.   

    +1 T t=null  这个没有真正意义上创建这个对象,无法调用对象方法和属性
    T t=new T(); new 的时候创建对象
      

  3.   

    ++
    new T(); 就是创建了一个对象
      

  4.   

    T t=null;  没有产生对象. 此时的引用名为 null.
    T t=new T(); 产生了类 T 的对象。此时的引用名t指向了这个对象在堆中的地址。你可以写个小程序测试一下。