标签:Java 变量 Object toString 引用 类型 方法
在Java中所有的类都有一个共同的父类Object(默认继承,不用加extends关键字),toString方法就是Object类的一个方法,用来返回该对象的字符串表示形式(个人总结:需要把该类转换成String类型的时候就会调用该方法)
父类Object中的toString()方法
可以看到该方法返回的是"类名@hashCode值"形式的字符串
但这并不是我们所想要的结果,我们希望这个方法返回的是该类的所有属性拼接的字符串,Object的toString方法已经不够用了,因此,我们需要重写该方法
既然已经重写好了该方法,那该方法是什么时候被调用的呢?
我们经常使用System.out.println()方法来打印一个基本类型的变量或引用变量,我们根据源代码来查看是如何运行的:
System.out.println()通过标准输出流对象调用println()方法
该方法是用于打印基本类型变量或引用变量,我们再看看prinln()方法是如何实现的?
该方法被重载了,基本类型的参数直接打印出该值,我们主要关注引用类型参数是如何实现
String.valueOf()方法用于返回Object参数的字符串表示形式,将该值用String类型的变量s接收,并打印出来,我们在看看valueOf()方法是怎么实现的
若该引用变量不是指向空引用,则调用该引用变量所指向的对象的toString方法
由此,我们可以判断,当System.out.println()中的参数类型是基本类型参数时,直接打印,若是引用类型时,调用该引用类型所指向的对象的toString方法,如果该子类对象不重写toString方法,则打印的是"类名@hashCode值"形式的字符串,通常建议重写toString方法。
(转载)
标签:Java,变量,Object,toString,引用,类型,方法 来源: https://www.cnblogs.com/rain8005/p/16356653.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。