A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

luliang

中级黑马

  • 黑马币:107

  • 帖子:66

  • 精华:0

© luliang 中级黑马   /  2016-8-16 22:59  /  623 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

这个  C  为什么可以调用toString方法?
Collection 中没有toString方法


Collection c = new ArrayList();
                c.toString();

5 个回复

倒序浏览
Object中的方法.
回复 使用道具 举报
ArrayList中有toString方法
回复 使用道具 举报
注意看API文档,这个方法是继承自java.util.AbstractCollection<E>的。

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

覆盖:
类 Object 中的 toString
返回:
此 collection 的字符串表示形式
ArrayList的底层是通过维护一个Object数组实现的,如果传入的是基本数据类型或者String,则可以直接通过toString遍历。
如果集合里放的是自定义的对象,那就需要通过重写toString方法来遍历。

评分

参与人数 1黑马币 +2 收起 理由
r1503882525 + 2 回答认真

查看全部评分

回复 使用道具 举报 1 0
楼上说的很对
回复 使用道具 举报
今天问了老师:
老师的意思是 接口中都隐藏了Object类的方法.
但这种关系不能说是继承或是怎样;
Collection c = new ArrayList();
                c.toString();
父类引用指向子类对象,
调用方法时候
编译看左边,运行看右边;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马