黑马程序员技术交流社区
标题:
关于toString的问题。
[打印本页]
作者:
黄诗宾
时间:
2013-2-27 20:57
标题:
关于toString的问题。
本帖最后由 黄诗宾 于 2013-2-28 15:50 编辑
public class Test{
public static void main(String args[]){
Student s=new Student();
System.out.println(s);
}
}
class Student{
public String toString(Student s){
return s.toString();
}
}
为什么覆写的toString中直接return s;不行?
还有,既然是覆写,那么s.toString()应该是调用覆写的toString方法,为什么效果是调用的Object的方法呢。
作者:
李挺
时间:
2013-2-27 20:59
你这个toString方法不是复写
真正的toString()方法是无参数的
toString(Student s)是上面这个方法的重载形式
所以没有效果
作者:
Benwolf0818
时间:
2013-2-27 22:01
直接return s;是不行的,因为Student不能转换成String,必须借助于toString转换成String。
因为是把Object转换成String,所以调用Object的方法
作者:
颜春
时间:
2013-2-27 22:26
1、tostring()方法的返回值是String类型 Student是一个对象 所以返回 s 不可以 类型不匹配
2、重写toString() 就是重写的object中的toString 所以调用的object
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2