如何在JAVA中重写toString()方法

要细致的说明,最好有代码片段,讲解如何重写... 要细致的说明,最好有代码片段,讲解如何重写 展开
 我来答
趣事情
2015-10-14 · 知道合伙人互联网行家
趣事情
知道合伙人互联网行家
采纳数:517 获赞数:5452
电脑技术,软件开发。移动开发。网站建设相关专业知识。都可以提供解答和相关技术指导。

向TA提问 私信TA
展开全部
string是一个对象,但也可以用基本类型创建的方式来创建,例如:

String s="abababababa";// 基本类型创建的方式

String s= new String("asdsad");//对象

java里,所有的类,不管是java库里面的类,或者是你自己创建的类,全部是从object这个类继承的。object里有一个方法就是toString(),那么其实所有的类创造的时候,都有一个toString的方法。java输出用的函数print();是不接受对象直接输出的,只接受字符串或者数字之类的输出。例如:

class Acccc

{}

Acccc s1 = new Acccc();

System.out.print(s1);

按照print接受的类型来说,s1是不能直接输出的,那么是否代表这个是不能编译运行的呢?当然不是。因为当print检测到输出的是一个对象而不是字符或者数字时,那么它会去调用这个对象类里面的toString 方法。

即使你没有创建,因为是所有的类都是集成object类,所以自然也继承了这个方法。所以默认情况下,你输出一个对象,会调用这个对象继承的toString方法,而object里的这个方法,默认的功能是返回这个对象的名称。

class A

{

String toString()

return “cao”;

}

class B

{

public static void main(String [] args)

{

A x1 = new A();

System.out.println(x1);//输出就是"cao"……

}

}
小西
2015-09-22 · 运营
小西
运营
采纳数:218 获赞数:3887
百度知道热心用户

向TA提问 私信TA
展开全部
public String toString() {
        return new ToStringBuilder(this)
            .append("baseId", getBaseId())
            .append("baseExternalId", getBaseExternalId())
            .append("baseNameCn", getBaseNameCn())
            .append("baseNameEn", getBaseNameEn())
            .append("baseContentClass", getBaseContentClass())
            .append("baseContentVersion", getBaseContentVersion())
            .append("baseCpId", getBaseCpId())
            .append("baseCpType", getBaseCpType())
            .append("baseCopyrightOwnerCn", getBaseCopyrightOwnerCn())
            .append("baseCopyrightOwnerEn", getBaseCopyrightOwnerEn())
            .append("baseCopyrightOwnerType", getBaseCopyrightOwnerType())
            .append("baseTag", getBaseTag())
            .append("basePublicTag", getBasePublicTag())
            .append("baseNeedDrmPack", getBaseNeedDrmPack())
            .append("baseDrmPackType", getBaseDrmPackType())
            .append("baseSubmitTime", getBaseSubmitTime())
            .append("baseEffectiveTime", getBaseEffectiveTime())
            .append("baseExpireTime", getBaseExpireTime())
            .append("baseAllowedAreas", getBaseAllowedAreas())
            .append("baseOwnerOrgId", getBaseOwnerOrgId())
            .append("baseOwnerOrgType", getBaseOwnerOrgType())
            .append("baseIsRoot", getBaseIsRoot())
            .append("baseCreator", getBaseCreator())
            .append("baseCreateTime", getBaseCreateTime())
            .append("baseModifer", getBaseModifer())
            .append("baseModifyTime", getBaseModifyTime())
            .append("audioInfoId", getAudioInfoId())
            .append("audioInfoExternalId", getAudioInfoExternalId())
            .append("audioInfoCategory1", getAudioInfoCategory1())
            .append("audioInfoCategory2", getAudioInfoCategory2())
            .append("audioInfoPublishDate", getAudioInfoPublishDate())
            .append("audioInfoPublishArea", getAudioInfoPublishArea())
            .append("audioInfoPublishCompany", getAudioInfoPublishCompany())
            .append("audioInfoLibrettist", getAudioInfoLibrettist())
            .append("audioInfoAuthorOfMusic", getAudioInfoAuthorOfMusic())
            .append("audioInfoSinger", getAudioInfoSinger())
            .append("audioInfoGender", getAudioInfoGender())
            .append("audioInfoLyric", getAudioInfoLyric())
            .append("description", getDescription())
            .append("ownerOrgId", getOwnerOrgId())
            .append("ownerOrgType", getOwnerOrgType())
            .append("audioInfoCreator", getAudioInfoCreator())
            .append("audioInfoCreateTime", getAudioInfoCreateTime())
            .append("audioInfoModifer", getAudioInfoModifer())
            .append("audioInfoModifyTime", getAudioInfoModifyTime())
            .toString();
    }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友70ae8e86ac
2007-11-27 · TA获得超过1304个赞
知道小有建树答主
回答量:815
采纳率:0%
帮助的人:1092万
展开全部
因为所有类都是继承自Object,Object类具有一个toString()方法,你创建的每个类都会继承该方法。它返回对象的一个String表示,并且对于调试非常有帮助。然而对于默认的toString()方法往往不能满足需求,需要覆盖这个方法。

public String toString(){
...
return ...;
}

更多详细解释:
http://zhangjunhd.blog.51cto.com/113473/22355

参考资料: http://zhangjunhd.blog.51cto.com/113473/22355

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fa6f888
2007-11-27 · TA获得超过1056个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:513万
展开全部
public String toString() {
......

你要进行的操作
....

return 你想要返回的东西;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郭某人来此
2015-10-06 · TA获得超过1645个赞
知道答主
回答量:952
采纳率:100%
帮助的人:86.6万
展开全部
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

public String toString() {
return new ToStringBuilder(this)
.append("baseId", getBaseId())
.append("baseExternalId", getBaseExternalId())
.append("baseNameCn", getBaseNameCn())
.append("baseNameEn", getBaseNameEn())
.append("baseContentClass", getBaseContentClass())
.append("baseContentVersion", getBaseContentVersion())
.append("baseCpId", getBaseCpId())
.append("baseCpType", getBaseCpType())
.append("baseCopyrightOwnerCn", getBaseCopyrightOwnerCn())
.append("baseCopyrightOwnerEn", getBaseCopyrightOwnerEn())
.append("baseCopyrightOwnerType", getBaseCopyrightOwnerType())
.append("baseTag", getBaseTag())
.append("basePublicTag", getBasePublicTag())
.append("baseNeedDrmPack", getBaseNeedDrmPack())
.append("baseDrmPackType", getBaseDrmPackType())
.append("baseSubmitTime", getBaseSubmitTime())
.append("baseEffectiveTime", getBaseEffectiveTime())
.append("baseExpireTime", getBaseExpireTime())
.append("baseAllowedAreas", getBaseAllowedAreas())
.append("baseOwnerOrgId", getBaseOwnerOrgId())
.append("baseOwnerOrgType", getBaseOwnerOrgType())
.append("baseIsRoot", getBaseIsRoot())
.append("baseCreator", getBaseCreator())
.append("baseCreateTime", getBaseCreateTime())
.append("baseModifer", getBaseModifer())
.append("baseModifyTime", getBaseModifyTime())
.append("audioInfoId", getAudioInfoId())
.append("audioInfoExternalId", getAudioInfoExternalId())
.append("audioInfoCategory1", getAudioInfoCategory1())
.append("audioInfoCategory2", getAudioInfoCategory2())
.append("audioInfoPublishDate", getAudioInfoPublishDate())
.append("audioInfoPublishArea", getAudioInfoPublishArea())
.append("audioInfoPublishCompany", getAudioInfoPublishCompany())
.append("audioInfoLibrettist", getAudioInfoLibrettist())
.append("audioInfoAuthorOfMusic", getAudioInfoAuthorOfMusic())
.append("audioInfoSinger", getAudioInfoSinger())
.append("audioInfoGender", getAudioInfoGender())
.append("audioInfoLyric", getAudioInfoLyric())
.append("description", getDescription())
.append("ownerOrgId", getOwnerOrgId())
.append("ownerOrgType", getOwnerOrgType())
.append("audioInfoCreator", getAudioInfoCreator())
.append("audioInfoCreateTime", getAudioInfoCreateTime())
.append("audioInfoModifer", getAudioInfoModifer())
.append("audioInfoModifyTime", getAudioInfoModifyTime())
.toString();
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式