题目写错了应该是1.ArrayList a=this.getXXXX()
和2.ArrayList a=new ArrayList();
a=this.getXXXX()
这样到底有什么区别阿?new 的作用是什么?
2中在a有用new 创建一个对象,所以A是个对象那么1 的a也是对象吗?
请好心人再回答一下,谢谢

解决方案 »

  1.   

    没有区别
    1.取这个方法返回的LIST赋值给A2.新建A
    取方法返回的LIST赋值给A,原来A的值被覆盖
      

  2.   

    1的A是指向THIS下的那个LIST的引用
    2的A在NEW是是个新的LIST的引用,但赋值后,还是THIS下的LIST的引用------ 以下是签名 ------
    SoftDN.com, 提供免费的项目管理平台:SVN仓库、需求管理、BUG跟踪、任务管理、在线论坛、网站空间、项目存储及完整的备份等。欢迎网友光临建立项目,开创自己的梦想。
    地址:http://www.softdn.com   http://www.softdn.cn
      

  3.   

    1.ArrayList a=this.getXXXX()中的a是一个抽象,而this.getXXXX()是一个实物,把实物的地址给了a,a就是不抽象了,变成实物了2.ArrayList a=new ArrayList();
    同样a是一个抽象,而new ArrayList();是一块内存地址,也就是一块地,没放东西的地,给了a,a=this.getXXXX()
    是把this.getXXXX()这个实物放在a上
    用白话说,你会好明白点
    呵呵