List list = new ArrayList()与ArrayList arr = new ArrayList()的区别在哪里??

解决方案 »

  1.   

    如果用List做接口参数,以后根据情况需要改变实例的类型时,程序的改动相对较小!比如以后方法内部实现需要把ArrayList改成LinkedList来实现,这样的情况!
    并且反过来有时ArrayList arr = new ArrayList();也有它的作用,因为用List引用,部分ArrayList中才有的方法是不能使用的!
      

  2.   

    List是接口,这样编写使程序更具灵活性
      

  3.   

    很明显这里是多态的一个体现...
    用父类的对象来NEW 子类的实例...
    方便转换...
      

  4.   

    List list = new ArrayList()这叫父类引用指向子类对象  程序的灵活性比较好 因为list接口的一些方法可以直接拿来用
      

  5.   

    List是接口,不用具体考虑它的子类。
      

  6.   

    List list = new ArrayList()实现一个多态