关于对象的创建有两种方法 XXX OBJ = NEW XXX() 还有就是  XXX OBJ,这两种方法有什么区别,请详细说明。

解决方案 »

  1.   

    XXX OBJ = NEW XXX() 是java中的语法
    XXX OBJ是C++中的语法
    二者几乎没有什么区别
    只是第一种 OBJ仅仅是一个引用,指向那个new出来的对象
    而第二种方法的OBJ真真正正是一个对象
    不知你是否满意?》
      

  2.   

     XXX OBJ
    这种写法是不推荐的,虽然它会默认取空值,但是这样你对对象的掌控就会不明确咯。
      

  3.   

    XXX OBJ:定义一个引用OBJ,它指向XXX对象(此时还未指向某个具体的XXX对象,不指向任何地方)
    XXX OBJ = NEW XXX() 定义一个XXX的引用OBJ,OBJ指向new XXX()这个具体对象
    和定义变量本质一样
    int i 定义int型变量i
    int i = 0 定义int型变量i,且i=0 
      

  4.   

    第一种 声明了类XXX的一个对象OBJ,并在内存中分配了存储空间,此时OBJ值为类XXX的默认初始值;
    第二种 只是声明了OBJ是一个类XXX的对象,没有初始值也没分配内存地址。
      

  5.   


    前两句很好,但三四五句是“画蛇添足”,呵呵,定义变量的性质可不一样啊,无论是int i,还是int i=0,所分配的内存空间是完全一样的。
      

  6.   

    楼主去看看java 的内存分配,就会立刻明白的……