写法1
private Model modelB=new Model();//Model是一个class类
private Model modelA;modelA=modelB写法2
private Model modelB=new Model();//Model是一个class类
private Model modelA=new Model();modelA=modelB
这两种写法有区别吗?都是生成了一个对象吗(modelA和modelB都是指向同一个对象吗)?

解决方案 »

  1.   

    加了 New是把这个类 实例化了  不加只是继承这个类
      

  2.   

    当然不同,没有New就没有分配空间。
    而且没有New那就说明没有把定义的变量实例化
      

  3.   

    这个我知道的,用了NEW就是分配了内存空间了,但是我的第二种写法共用了两个NEW产生了两个对象
    而最后实际使用的是一个内存空间吧,另外一个内存空间最后怎么处理呢?搁置不用??
      

  4.   

    对的,搁置不用(第二个NEW出来的内存空间因为没有指向它的引用,会被垃圾回收器回收的)
      

  5.   

    都是指向同一个对象,但是第二种方法后应该加一句GC.Collect();否则不能及时释放modelA的内存
      

  6.   

    都是指向同一个对象,但是第二种方法后应该加一句GC.Collect();否则不能及时释放modelA的内存
      

  7.   

    第二种写法要浪费资源一些,因为A和B是各自创建了一个对象,然后再将A和B指向同一地址。这样A所创建的对象就并没有任何用处了。