public boolean equals(object obj){
Name name=null;
if(obj instanceof Name){
name=(Name)obj;
if(name.firstname==this.firstname&&name.lastname==this.lastname){
return true;
}else return false;
}
return super.equals(obj)
}
在这个方法中为什么最后要写上super.equals(obj),难道写return false不行吗,有点不理解!
为什么还要让放到Object的equals里去比较?注:Name的父类是Object.
Name name=null;
if(obj instanceof Name){
name=(Name)obj;
if(name.firstname==this.firstname&&name.lastname==this.lastname){
return true;
}else return false;
}
return super.equals(obj)
}
在这个方法中为什么最后要写上super.equals(obj),难道写return false不行吗,有点不理解!
为什么还要让放到Object的equals里去比较?注:Name的父类是Object.
因为super.equlas(obj)是判断两个对象的引用是否一致,如果一致,那么obj instanceof Name就返回true了,
不会执行到最后一句。