String s = new String("abc");
System.out.println(s);
这输出是s的内容,这明明是对象的引用啊,是地址啊
如果这样
Student student =new Student();
System.out.println(student);却打印地址
打印String对象为什么输出的不是地址啊
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
8条回答 默认 最新
- 蓝色D风车 2017-07-23 03:19关注
因为所有的类继承Object类,所以单独输出一个对象的时候,它会调用Object.toString(当然 你没有重写同String的话),打印出来的就是一串表达地址的字符串。
就是这样,也就是最后调用了toString().
然而我们的String类里重写了toString(),它返回的是String自己,String是什么呢,String其实就是字符数组(它内部封装 了一个字符数组),所以打印字符串,其实就是打印字符数组,而不是地址。
可以看下源码更好理解本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 5无用
悬赏问题
- ¥15 Pwm双极模式H桥驱动控制电机
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题