您的位置 首页 java

「java基础」为什么重写toString()方法?

作者:宜春

来源:博客园

不得不说,有很多 JAVA 初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来未必有十足把握回答上 ~中枪了咩~,这篇文章旨在帮助初学者正确解读实体类重写toString() 方法。

解读一:java默认的toString方法来自Object 类

其实这不难理解,在没有重写tostring的前提下,每次执行System.out.println() 这个方法默认就会调用一个继承自Object 类型对象的toString 方法,这点是非常重要的基础前提!

解读二:重写toString()方法的意义所在

简单一句话就是重写toString() 可以理解为是对对象在打印输出时候的一种格式化。这样做符合业务逻辑,显示结果人性化。

object类里的toString只是把 字符串 的直接打印,数字的要转化成字符再打印,而 对象 ,则直接打印该对象的 hash码 (类似@15db9742 这样的东东),它的值大概就是等于getClass().getName()+’@’+Integer.toHexString( hashCode ()) ,我这乔治脑袋看着都晕,hash码 这玩意是给机器看的,平凡的人类是看不懂的鸭,什么?你要挑战?你相信你就是不一样的烟火?那行,我就举个例子给你看看,你可以试着在一个实体类中…啥?你要我自己来?额…行,我来就我来….

1、编写一个叫Person的实体类

2、编写测试类

3、没重写tostring()方法的测试效果

4、加上tostring()方法的测试效果

现在的开发工具基本都有自动生成tostring() 方法的快捷键,我想大家都懂~

总结

1、没有重写tostring ,每执行System.out.println() 会默认调用Object 的toString 方法,情况如下:

2、重写tostring,每执行System.out.println() 会调用重写的toString 方法,情况则会根据重写的方法打印输出成自己想得到的格式。

3、为了养成良好习惯,建议每次编写实现类都重写一下tostring() 方法!!

最后,我自己是一名从事了多年开发的JAVA老程序员,今年年初我花了一个月整理了一份最适合2019年学习的java学习干货,可以送给每一位喜欢java的小伙伴,想要获取的可以关注我的头条号并在后台私信我:交流,即可免费获取。

文章来源:智云一二三科技

文章标题:「java基础」为什么重写toString()方法?

文章地址:https://www.zhihuclub.com/186976.shtml

关于作者: 智云科技

热门文章

网站地图