集合2-2的问题
1、List list=new ArrayList();
list.add("Java");还有list.size()方法、list.remove()方法。
老师,list.add()、size()、remove()等等方法,这里调用的是接口List的方法,还是它的实现类ArrayList的方法?
2、老师,其实我对接口的引用指向实现类实例对象List list=new ArrayList();不是很理解,毕竟不是父类的引用指向子类实例,怎么理解接口的引用指向实现类实例对象?
2、课程里说:add方法将字符串对象存储到一片连续的内存空间,老师这里存储的是对象本身还是对象的引用地址?我个人感觉不可能把对象本身存储到集合里。
正在回答 回答被采纳积分+1
同学你好,1、list.add()、size()、remove()等这些方法,调用的是ArrayList重写List接口中的方法,List接口有这些方法,ArrayList重写了这些方法,调用的是ArrayList重写后的add、size、remove等方法!
2、接口的引用指向实现类实例对象,这里可以理解为与父类的引用指向子类的实例,List list=new ArrayList();-->(可以拆分为) List list; list=new ArrayList();
List list;声明一个类型为List 变量名(对象名)为list
new ArrayList();实例化一个ArrayList的集合
将这个ArrayList集合指向它的父接口 list=new ArrayList();
在java中所有实现了接口的类,都可以用这个接口来声明对象类型,这是java的规则,与父类的引用指向子类的实例的意思是一样的!
3、同学的说法是正确的,这里存储的是对象的引用地址!
如果我的回答解决了你的疑惑,请采纳!祝学习愉快!
- 参与学习 人
- 提交作业 3802 份
- 解答问题 11489 个
本阶段带你迈入Java世界,学习Java必备基础知识,基础语法、面向对象思想以及常用工具类的使用。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星