2-2两种实例化ArrayList方法的区别
视频里讲了,可以通过List list = new ArrayList()和ArrayList list = new ArrayList()两种方法来实例化ArrayList对象,两者的区别是什么?
28
收起
正在回答
1回答
List a=new ArrayList();父类的引用a指向了子类的对象,从面向对象的知识我们知道,父类的引用不能调用子类特有的方法。比如父类Animal有一个方法bark(),而子类Cat除了继承bark()方法外,还有自己的eat()方法,如果有这么一条语句Animal animal=new Cat();则animal.eat()方法会出现编译错误。
那么回到List,List有很多子类,比如ArrayList和LinkedList,如果以后不想用ArrayList进行数据存储,而改用LinkedList,则只需要将List a=new ArrayList();改为List a=new LinkedList();就可以了。其他的方法调用都是父类List中的,LinkedList也能用,就不用再修改了。因此将代码写成List a=new ArrayList();是一个好的习惯,可以避免上述问题的出现。
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
相似问题
登录后可查看更多问答,登录/注册
Android零基础入门2018版
- 参与学习 人
- 提交作业 5461 份
- 解答问题 7238 个
此次推出的专题为Android攻城狮培养计划的第一部分语法与界面基础篇,将带大家从0开始学习Android开发。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星