黑马程序员技术交流社区

标题: 关于 Collection 的问题 [打印本页]

作者: luliang    时间: 2016-8-16 22:59
标题: 关于 Collection 的问题
这个  C  为什么可以调用toString方法?
Collection 中没有toString方法


Collection c = new ArrayList();
                c.toString();
作者: wx_W1hr77lR    时间: 2016-8-16 23:44
Object中的方法.
作者: 彭鸿儒    时间: 2016-8-17 09:13
ArrayList中有toString方法
作者: talons    时间: 2016-8-17 20:40
注意看API文档,这个方法是继承自java.util.AbstractCollection<E>的。

toString
public String toString()返回此 collection 的字符串表示形式。该字符串表示形式由 collection 元素的列表组成,这些元素按其迭代器返回的顺序排列,并用方括号 ("[]") 括起来。相邻元素由字符 ", "(逗号加空格)分隔。通过 String.valueOf(Object) 可以将元素转换成字符串。

覆盖:
类 Object 中的 toString
返回:
此 collection 的字符串表示形式
ArrayList的底层是通过维护一个Object数组实现的,如果传入的是基本数据类型或者String,则可以直接通过toString遍历。
如果集合里放的是自定义的对象,那就需要通过重写toString方法来遍历。
作者: li--yong    时间: 2016-8-17 22:15
楼上说的很对
作者: luliang    时间: 2016-8-17 22:28
今天问了老师:
老师的意思是 接口中都隐藏了Object类的方法.
但这种关系不能说是继承或是怎样;
Collection c = new ArrayList();
                c.toString();
父类引用指向子类对象,
调用方法时候
编译看左边,运行看右边;





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