* equals方法:比较两个对象是否相等,下面是Object中的equals方法,比较的是地址值,没有什么意义
* public boolean equals(Object obj) {
return (this == obj);//是调用的对象与传入的对象的比较,比较的是地址值
}
思考:equals方法比较两个对象的地址值是没有意义的,需要重写,因为在开发中通常比较的是对象中的属性值,
我们认为相同属性认为是同一个对象,这要需要在Student类中需要重写equals方法
* @param args
*/
public static void main(String[] args) {
//观察重写equals方法前后的结果
Student s1 = new Student("张三",23);
Student s2 = new Student("张三",23);
boolean b = s1.equals(s2); //比较两个对象是否相等
//当Student类没有重写equals方式时,下面两个输出都是false
System.out.println(s1 == s2);
System.out.println(b);
} |
|