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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

每次看到这行代码感觉怪怪的,这行代码有什么作用?什么时候调用呢?我从表面上理解就是传进来一个参数,这个方法把传进来的参数转换成String类型的,不知道此理解有没有错误?求解答

5 个回复

倒序浏览
不是直接toString();?
回复 使用道具 举报
本帖最后由 沙铁健 于 2011-11-1 22:22 编辑

重写 toString()方法

例如 你 用foreach遍历 一个数组
  1.         for (student student : stu) {
  2.                         System.out.println(student);
  3.                 }
复制代码
这样输出的  直接输出时会输出该对象的哈希值,格式为:类名@对象的哈希值。
如果在student类里加上
  1.         public String toString() {
  2.                 return "姓名:" + sName ;
  3.         }
复制代码
例如我这里就一个字段sName 从写下 toString()
这样执行foreach就会输出

姓名:xxxx
姓名:xxxx
姓名:xxxx
姓名:xxxx
....
foreach就是加强for  习惯这么写.......

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
因为它是Object里面已经有了的方法,而所有类都是继承Object,所以“所有对象都有这个方法”。这个方法通常是为了方便输出,比如System.out.println(xx),自动调用xx的toString()方法。

评分

参与人数 1技术分 +1 收起 理由
宁超 + 1 赞一个!

查看全部评分

回复 使用道具 举报
感激二楼 三楼  把我的思路打开了{:soso_e113:}
回复 使用道具 举报
@Override

toString是Object中的方法,因为Object是所有类的超类.这时你自定义的类一定要覆盖的方法,
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马