黑马程序员技术交流社区

标题: 问题 ArrayList Array [打印本页]

作者: 程序猿    时间: 2012-4-24 12:52
标题: 问题 ArrayList Array
创建一个arraylist。
看到毕老师写的是ArrayList al=new ArrayList();
以前看到其他的地方写得很多是 Array al=new ArrayList();
上面毕老师的我还能理解,下面的是为了做什么要用父类来创建对象呢?
作者: 赵嘉男    时间: 2012-4-24 13:02
List可以有很多的实现,我们在使用的时候可能会用到不同的子类,用父类进行声明的话,如果实现类改了,只需要改下实例化的比分就可以,不用改变前面声明部分。
而且在写方法的时候,如果需要一个List的参数,我们不用去规定要实现那种类型的List实现,只需声明一个List 让方法调用者自由选用适当的实现就好。


如:List<Object> visited = new ArrayList<Object>
后期如果我要将一个LinkedList的对象XX赋值给visited ,只需要

visited=XX;而不用进行强制转换。


方法:

List test(List in)
{
   in.add("aaaa");
   in.remove(5);
   return  in;//就这个意思,我们就不用管传进来的List具体是什么对象,我们只需要声明个它的父类就可以了
}
作者: 王敏NO.09    时间: 2012-4-24 13:03
Array al=new ArrayList();这时是多态,向上转型。

作者: 索学超    时间: 2012-4-24 15:07
是有点多态的味道,我经常写的时候是
List<Object> list = null;

list = new ArrayList<Object>();

这样写的话,由于List实现不是有ArrayList和LinkedList吗

需要用哪个实现的就 new 一个就行了,就不用再再次声明了,

方便了不少




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2