toString()方法理解

java.lang.Object提供了toString方法的一个实现,但是它返回的字符串通常不是我们期望看到的。它包含类的名称,以及一个“@”符号,接着是散列码的无符号十六进制表示法。例如“String@124b81”
Object的toString源码如下:

 public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

从上面可以看出默认情况下toString方法返回的字符串不是简洁和易于阅读。所以“建议所有的子类都覆盖这个方法”。提供好的toString实现可以使类用起来更加舒适。对象被传递给println、字符串+以及调试器打印出来时,toString方法就会自动被调用,如果覆盖了toString方法,提供好的toString方法,将有益于查看对象信息。
例子

public static void main(String[] args) {
        System.out.println(new Foo());
    }

    @Override
    public String toString() {
        return "Foo类的toString方法将被调用";
    }

打印结果:
Foo类的toString方法将被调用
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 是夜入睡,梦遇故人。相对而坐,竟不得言;呼之再三,而声在喉间,终不得发。惊而起,坐定而思,屈指算来,斯人去我已三年...
    青简书阅读 356评论 3 4
  • 天宫的美酒无数,人间的美酒无数。不过在仙界有一坛传奇的美酒,让各路神仙都为之倾倒。这便是女儿红。 1.天宫 距离共...
    梦小鱼儿阅读 1,220评论 12 55
  • 关于写作这件事,我给大家三点建议: 001 对于文字功底较差的同学,如果你很喜欢某一本书的文字,觉得这就是你想要写...
    佩奇_阅读 105评论 0 0