重写的对象比较方法equals
例:
public boolean equals(Object obj)
return this.name.equals(p.name)&&this.age==p.age;
}
this表示本对象,比如你这样调用equals函数:stu1.equals(stu2),this就表示stu1。
this == obj是直接使用 == 进行比较 == 的判断标准是只有2个对象都是引用的相同对象才相等。
而如果二者是不同的对象,equals还想通过比较两个对象的name和age的方式判断是否是相等的,如果两个对象是相同的类型并且name和age相等,也认为两个对象相等。
这段代码就是这个作用的。
也可以这么理解:
stu.name.equals(this.name)
//句等同于
String name = stu.name;
name.equals(this.name)
//对象stu的属性name所属的类型(应该为String)有equals方法