A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© h390 中级黑马   /  2016-2-7 11:01  /  1321 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我看到视频里面老师讲的StringBuff是重写toString方法的。为什么我打出来的还是地址值
  1. public class StringBuffer {
  2.         public static void main(String[] args) {
  3.                 StringBuffer sb = new StringBuffer();
  4.                 System.out.println("sb"+sb);
  5.         }
  6. }
复制代码

结果如StringBuffer@1cacd5d4

5 个回复

倒序浏览
我把项目包类全部删除掉再重新写一遍就好!直是奇怪
回复 使用道具 举报
本帖最后由 ContainsM 于 2016-2-7 15:16 编辑

因为你的主类 名字就是 StringBuffer 所以 就近原则,你new 的那个类是 你当前的类
回复 使用道具 举报
这个不需要你命名 老师讲解的时候曾经提到过,创建类的时候不要直接以封装好的类名对类进行命名,那样的话就是直接调用本类的地址值,而不是调用StringBuffer这个类,以后命名的时候加上Demo1 或者Test 或者StringBuffer01 这样就不会出现你说的这个问题了
回复 使用道具 举报
请不要将你的类起名跟Java自带的类同名,会引起不必要的麻烦
回复 使用道具 举报
Java提供的StringBuffer重写了tostring可是你的StringBuffer类没有
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马