ArrayList list=new ArrayList()与List list=new ArrayList()的区别,为什么一般会使用List list=new ArrayList()?能否解答的详细些,非常感谢。

解决方案 »

  1.   

    List list=new ArrayList();
    面向接口编程,这样调用方法的时候使用接口约定的方法,如果你以后不想使用ArrayList了而要使用LinkedList来实现,修改这一句话即可。
      

  2.   

    刚才看以一篇帖子说
    List list=new ArrayList()
    创建了一个对象
    而 ArrayList list=new ArrayList()创建了两个对象,不是很理解,希望知道的人帮忙解答一下
      

  3.   

    面向对象语言有个好处就是我们可以使用现成的类 或者代码 而不用自己在去写
    所以我们编写的程序就要有通用性 
    ArrayList list=new ArrayList()
    如果在其他地方用了list变量 当我们由于需要改变list的类型时 就会影响到用到list变量的地方 也要我们手动更改(因为每种List实现同种功能的方法是不一样的)
    List list=new ArrayList()是用一个具体类指向了 他的父类 这样当换一个具体类的时候 就不需要改其他地方了 因为这些具体类都实现了List接口 所以都会实现List接口中的方法 所以凡是用到父类的地方都可以用其子类 即使子类不同 但是都包含父类的方法 不会出现错误 
      

  4.   

    ArrayList list=new ArrayList()怎么会是创建两个对象呢?不明白哦
      

  5.   

    用list实例化对象的话可以返回实现他的接口的成员数组!
      

  6.   

    看看java的多态吧 应该能理解了
      

  7.   

    String classPath="java.util.ArrayList";//可以是List的所有子类。
    List list=(List)Class.forName(classPath).newInstance();
    这样理解一下。
      

  8.   

    那还要ArrayList的特殊方法干嘛,再说如果要用ArrayList的方法怎么办?