/*需求:给人定义一个用于比较年龄是否相同的功能,也就是是否是同龄
this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这个时候要用到thi
当定义类功能时候,该函数内部要用到调用该函数的对象时,这个时候用到this,this表示这
个对象
*/
class person
{ private String name;
private int age;
person(int age)
{
this.age=age;
}
public boolean compare(person p)
{
return this.age==p.age;
}
}
class personDemo
{ public static void main(String[] args)
{person p1=new person(55);
person p2=new person(66);
System.out.println(p1.compare(p2));
}
}
关于this的问题都明白了:this代表p1也就是代表一个对象,那个对象调用这个方法代表那个对象
关键问题是:为什么这里不能把this去掉,换成p1也就是p1.age==p.age为什么不行?希望详细解答 |