黑马程序员技术交流社区

标题: toString问题 [打印本页]

作者: 李小锋    时间: 2012-12-14 13:58
标题: toString问题
  1. public String toString(String s)
  2. {
  3.     return s.toString;
  4. }
复制代码
return s 和 return s.toString 有什么区别,该怎么使用toString呢?
作者: Kevin123    时间: 2012-12-14 14:15
参数如果是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()的值
作者: 马铿    时间: 2012-12-14 14:21
return s,这里的s是一个类型(Object)
return s.toString,这里的s.toString也是一个类型,只不过类型是(String)

所以返回的是2种不同类型,但是他们的祖宗类还是Object
作者: 马铿    时间: 2012-12-14 14:24
对于怎么运用toString()
如果你s不重写toString()方法的话,会默认调用Object类的toString方法
如果你重写了toString(){
      system.out.println("我自己定义的toString");
}
这样打印出来的就是"我自己定义的toString"这句话




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