日期:2014-05-20  浏览次数:20616 次

谁来帮我解释一下this这个用法
public   int   olderthen(Person4   b)    
{                      
          Person4   a   =   this;                     ///不懂的地方                  
          return   a.age   -   b.age;
  }

------解决方案--------------------
让a对象指向当前对象
------解决方案--------------------
应该是当前对象比后一对象年龄大了多少!

如main中的例子一样

就是p1比s1老多少岁。

this作用就是 把子类赋给父类
------解决方案--------------------
this指代当前调用这个方法的对象
------解决方案--------------------
this=P1这个对象
------解决方案--------------------
this是指当前你用来调用这个方法的对象
------解决方案--------------------
this是指当前调用这个方法的对象,
public int olderthen(Person4 b) //比较两个人的年龄
{
Person4 a = this; //指代对象本身
return a.age - b.age;
}
已知我们创建了2个对象p1和p2,当我们调用p1.olderthen(p2)时,其中public int olderthen(Person4 b) 中的b指的是p2。对于Person4 a = this;这句话中的this指的就是当前调用这个方法的对象p1,所以a得到的是p1的引用值,所以return a.age - b.age;返回的是p1和p2的年龄差。


------解决方案--------------------
public int olderthen(Person4 b)
{

return (this.a).age - b.age;
}
------解决方案--------------------
写这个代码的人有病, 不用理他
public int olderthen(Person4 b)
{

return this.age - b.age;
}

这样就完了, 他写了句废话