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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邱俊杰 中级黑马   /  2012-4-11 00:39  /  1547 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class Demo
  2.         {
  3.                 private int num;
  4.                 Demo(int num)
  5.                 {
  6.                         this.num = num;
  7.                 }
  8.                
  9.                 public boolean equals(Object obj)//Object obj = new Demo();
  10.                 {

  11.                         if(!(obj instanceof Demo))
  12.                                 return false;
  13.                         Demo d = (Demo)obj;

  14.                         return this.num == d.num;
  15.                 }
  16.                
  17.                 /*
  18.                 public boolean compare(Demo d)
  19.                 {
  20.                         return this.num==d.num;
  21.                 }
  22.                 */
  23.                 public String toString()
  24.                 {
  25.                         return "demo:"+num;     [color=Red]其实这里是模糊的,[/color]
  26.                 }

  27.         }
  28.         class Person
  29.         {
  30.         }

  31.         public class objTostring
  32.         {
  33.                 public static void main(String[] args)
  34.                 {
  35.                         Demo d1 = new Demo(4);
  36.                         System.out.println(d1);//输出语句打印对象时,会自动调用对象的toString方法。打印对象的字符串表现形式。
  37.                         Demo d2 = new Demo(7);
  38.                         System.out.println(d2.toString());
  39.          }
  40. }
复制代码
代码运行的结果为:demo:4
                              demo:7    模糊了、怎么个执行的。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

2 个回复

倒序浏览
{:soso_e110:}
1、39行 new Demo(4) 构造方法需要传入一个int值
2、04行开始 将4 赋值给 Demo对象中的 num值
3、40行  System.out.println(d1);   写得很明白了输出对象时 自动输出 toString方法
4、25行 toString方法返回了一个字符串 那么你打印出来的就是 27行 返回的 字符串了

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
  楼上正解,你实列花Demo d1 = new Demo(4); 通过构造函数,将值传给num,toString返回的是你对象调用变量的值。
你已经重写toStringd方法了,所以返回的对象是你重写toString返回的值。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马