黑马程序员技术交流社区

标题: 一串整齐的代码,求解释下。模糊了 [打印本页]

作者: 邱俊杰    时间: 2012-4-11 00:39
标题: 一串整齐的代码,求解释下。模糊了
  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    模糊了、怎么个执行的。
作者: 程洪    时间: 2012-4-11 01:04
{:soso_e110:}
1、39行 new Demo(4) 构造方法需要传入一个int值
2、04行开始 将4 赋值给 Demo对象中的 num值
3、40行  System.out.println(d1);   写得很明白了输出对象时 自动输出 toString方法
4、25行 toString方法返回了一个字符串 那么你打印出来的就是 27行 返回的 字符串了


作者: 李震 李震 李震    时间: 2012-4-11 01:14
  楼上正解,你实列花Demo d1 = new Demo(4); 通过构造函数,将值传给num,toString返回的是你对象调用变量的值。
你已经重写toStringd方法了,所以返回的对象是你重写toString返回的值。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2