Java当中的Object类时所有类的父类,所有类都会继承这个类
我们知道在java.lang.Object类中有一个方法
public boolean equals(Object obj)
1、首先这个方法只有在当前对象与obj对象是同一个对象时才会返回true
即if(this == obj)return true ;
else return false ;
2、然而在很多类的很多方法中,都需要自动的调用通过继承自Object基类中的equals方法来判
定两个对象是否“相同”,之后在执行其他的代码,但是在具体的类中的"相同"往往不是
要求两个引用型变量指向同一对象,而是需要判定两个对象是否具有相同的内容,这时就
必须在当前的类中对equals方法进行重写,重写的方法如下:
class A
{ int a ;
public boolean equals(Object obj)
{
if(obj instanceof A)
A x = (A)obj ; //必须向下转型,否则obj.a不能通过编译
else
return false ;
if(this.a == x.a) return true ;
else
return false ;
}
}