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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李小锋 中级黑马   /  2012-12-14 13:58  /  1293 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public String toString(String s)
  2. {
  3.     return s.toString;
  4. }
复制代码
return s 和 return s.toString 有什么区别,该怎么使用toString呢?

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

3 个回复

倒序浏览
参数如果是Object类型的,那么是有区别的,例如:
  1. public String toString(Student s){
  2. return s.toString();
  3. }
复制代码
会返回Student的toString方法的返回值,如果你不覆盖Student的toString方法的话,继承自Object类的toString方法格式 是  包名.类名@xxxx   
直接返回s 是不会编译通过的
通常在使用toString()方法时,是为了输出时代码方便,统一输出格式,
比如Student s = xxxxx;System.out.println(s);
这样就会打印s的toString()的值

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1 赞一个!

查看全部评分

回复 使用道具 举报
return s,这里的s是一个类型(Object)
return s.toString,这里的s.toString也是一个类型,只不过类型是(String)

所以返回的是2种不同类型,但是他们的祖宗类还是Object
回复 使用道具 举报
对于怎么运用toString()
如果你s不重写toString()方法的话,会默认调用Object类的toString方法
如果你重写了toString(){
      system.out.println("我自己定义的toString");
}
这样打印出来的就是"我自己定义的toString"这句话

评分

参与人数 1技术分 +1 收起 理由
刘芮铭 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马