为什么new String可以直接输出字符串,而自定义的类new输出的是地址

你看我还在呢 2018-10-26 08:30:45
为什么new String可以直接输出字符串,而自定义的类new输出的是地址,我看了String的源码,new的时候调用了这个构造函数
public String(String original) {
this.value = original.value;
this.hash = original.hash;
}
可是我依然米有看懂!啊啊啊啊啊啊!救救孩子吧!!!!
希望大佬们给我比较详细的解答,小白不胜感激~~~~~
...全文
415 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
天涯若风 2018-10-26
  • 打赏
  • 举报
回复
如果你不重写对象中的tostring话,那么默认打印的是对象的地址;
每个类都有个tostring方法,你自己可以去重写tostring方法
你看我还在呢 2018-10-26
  • 打赏
  • 举报
回复
引用 1 楼 Janai01的回复:
不太懂你意思,如果我没记错的话 string类是重写了toString()方法的,在你system.out.print的时候默认调用了tostring方法。 string重写了tostring自然可以输出字符串,而你自定义的类没有重写tostring,自然就调用了object的toString方法。
我好像听到了耶 谢谢你哈
Janai01 2018-10-26
  • 打赏
  • 举报
回复
不太懂你意思,如果我没记错的话 string类是重写了toString()方法的,在你system.out.print的时候默认调用了tostring方法。 string重写了tostring自然可以输出字符串,而你自定义的类没有重写tostring,自然就调用了object的toString方法。

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧