为了账号安全,请及时绑定邮箱和手机立即绑定

Object类中的toString()

Object类中的toString()

淡泊如风 2016-06-05 16:24:46
public class TestObject { @Override public String toString() { return "在"+getClass().getName()+"类中重写toString()方法"; } public static void main(String[] args) { // TODO 自动生成的方法存根 System.out.println(new TestObject()); }}在这里没有调用方法怎么会执行?
查看完整描述

3 回答

已采纳
?
紫罗天

TA贡献12条经验 获得超4个赞

这里你调用的不是你TestObject中重写的方法,而是println里面的方法,new TestObject()只是内存中声明一个空间不执行任何操作,new TestObject().toString()才是调用你自己重写的方法

查看完整回答
1 反对 回复 2016-06-05
?
予远方

TA贡献17条经验 获得超12个赞

当使用print 或println 打印的时候,会自动调用String.valueOf()

public static String valueOf(Object obj) { 
    return (obj == null) ? "null" : obj.toString(); 
}

这个方法中,当传入的对象为 null 时返回一个 null,当非 null 时,则返回这个 obj 的 toString()。

而在你这个类中重写了toString方法,所以会打印出重写的相关信息。

查看完整回答
1 反对 回复 2016-06-05
?
little_newbee

TA贡献21条经验 获得超7个赞

println自动调用toString方法

查看完整回答
反对 回复 2016-06-05
  • 3 回答
  • 0 关注
  • 1631 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信