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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈林阳 黑马帝   /  2011-9-19 21:40  /  3859 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public String toString()这个方法的作用是什么?为什么这么用?

class Student
{
private String name;
pvivate int age;
Student(String name,int age)
{
  this.name = name;
  this.age = age;
}
public String getName()
{
  return name;
}
public int getAge()
{
  return age;
}
public String toString()
{
  return name+":"+age;
}
}

7 个回复

倒序浏览
黑马网友  发表于 2011-9-19 21:48:33
沙发
首先是一个方法,返回一个Sring类型,你的例子中就是 名字(name):年龄(age)
然而,toString方法特殊在于,它是继承自Object类(换句话说每个对象都有此方法)而此例中经过覆写。每次需要String类型的场合,都会隐式调用toString方法。
比如 你可以试下[code]Student test = new Student("Li Ming", 22);
System.out.print(test);[/code]会返回
Li Ming:22

评分

参与人数 1技术分 +1 收起 理由
王玉玺 + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-19 21:49:26
藤椅
如果你有个类
class Student
{
int age;
String name;
}
(假设属性为对应的首字母大写)
如果不重写ToString()方法
那么要输出姓名和年龄 只能: stu.Name+stu.Age

如果重写ToString()方法

ToString()
{
  return this.name+this.Age;
}
则直接就可以调用方法来显示了。


其次,可以将属性设置为仅Set,那么外部就无法通过属性获取相应的内容,
但是此时,ToString() 方法任然有效。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-19 21:49:57
板凳
toString 是Object下面的类,自定义的类可以复写这个方法,默认情况下,toSring是打印
类名,
通过你自己这样的复写toString的方法作用就变成你自定的了,所呈现的效果也就是
这个return name+":"+age;

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-19 21:53:55
报纸
返回该对象的字符串形式
是object类的方法 所以任何有类都有这个方法
用这个方法一般都是重写之后,再用 ,具体怎么用看具体情况咯

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

回复 使用道具 举报
黑马网友  发表于 2011-9-19 22:12:24
地板
举个例子来说:
public class A{
    public String toString(){return "this is A";}
}
如果某个方法里面有如下句子:
A obj=new A();
System.out.println(obj);
会得到输出:this is A
看出来了吗
toString的好处是在碰到“println”之类的输出方法时会自动调用,不用再打出来
回复 使用道具 举报
黑马网友  发表于 2011-9-20 00:30:39
7#
在Java中,toString()方法是 Object 类的方法,而所有的类又都继承 Object类,所以,所有的实例对象都会有这个方法。它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法。

     再结合你的这段程序代码,Student 类中的 toString() 方法,实际是重写了父类的 toString() 方法,作用很简单,就是使输出的格式,按照重写之后的 toString() 方法中定义的格式,具体到程序中的输出格式就是:
“姓名:年龄”。。。

评分

参与人数 1技术分 +1 收起 理由
admin + 1

查看全部评分

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