B1 yy = new B1();
 System.out.println(yy);
输出:
  B1@10b30a7
  是什么意思??

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【sure2003】截止到2008-07-25 09:59:28的历史汇总数据(不包括此帖):
    发帖的总数量:266                      发帖的总分数:11003                    每贴平均分数:41                       
    回帖的总数量:229                      得分贴总数量:7                        回帖的得分率:3%                       
    结贴的总数量:261                      结贴的总分数:10833                    
    无满意结贴数:2                        无满意结贴分:50                       
    未结的帖子数:5                        未结的总分数:170                      
    结贴的百分比:98.12 %               结分的百分比:98.45 %                  
    无满意结贴率:0.77  %               无满意结分率:0.46  %                  
    值得尊敬
      

  2.   

    对象的字符串表示
    Object 中toString()
     public String toString()
        {
            return (new StringBuilder()).append(getClass().getName()).append("@").append(Integer.toHexString(hashCode())).toString();
        }
      

  3.   

    打印对象
    调用了这个Object的toString()方法
      

  4.   

    B1@10b30a7  B1是你的类名,@固定的,后面是对象地址。
    4楼正解!
      

  5.   


    public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
        }类名+@+hashCode值的16进制表示
      

  6.   

    实际上,由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。(这一般是通过将该对象的内部地址转换成一个整数来实现的,但是 JavaTM 编程语言不需要这种实现技巧。) 所以,没有必要去区分@后面的东西是什么,只要知道对象不同,这个值不同就可以了.
      

  7.   

    new 出来的对象 在内存中的哈希编码
    返回: 类名+@+hashCode值的16进制表示