您的位置:首页 > 其它

我在类里重写了这个方法吗???什么叫做重写,我可以更加深刻地了解了!!!

2008-11-16 11:45 232 查看
class Name {
private String fName, lName;

public Name(String fName, String lName) {
this.fName = fName;
this.lName = lName;
}

public String toString() {
return fName + "_ " + lName;
}

public boolean equals(Name n) {
return (fName.equals(n.fName)) && (lName.equals(n.lName));
}
}

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

大家请看,我上面的类重写了equals()了吗?

答案是没有,因为原方法是boolean equals(Object o)

参数类型必需一样,这个问题困扰了我很长时间,javac的时候也不会出错,

这样的错误实在不好查,还是一个朋友帮我解决的,谢谢他!!

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

正确的答案应该是这个样子的:

class Name {
private String fName, lName;

public Name(String fName, String lName) {
this.fName = fName;
this.lName = lName;
}

public String toString() {
return fName + "_ " + lName;
}

public boolean equals(Object n) {
return (fName.equals(((Name)n).fName)) && (lName.equals(((Name)n).lName));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐