(1)是所有类的根类,超类。
java中提供的类以及我们自定义的类都直接或者间接的继承自Object类。
:boolean equals(Object obj)
用于比较两个对象的地址值是否相同。
我们获取对象后,比较它的地址值意义不大。所以也会对这个方法进行重写。
重写要完成什么功能,是根据需求定的。
假如:有一个学生类,其中有一个int类型的age成员变量。我们需要用此方法
实现比较学生的年龄是否相同。
public boolean equals(Object obj) //向上转型
{
//为了提高效率
if(this == obj)
{
return true;
}
//为了提高程序的健壮性
if(!(obj instanceof Student))
{
return false;
}
//向下转型
Student s = (Student) obj;
return this.age == s.age; |