public boolean equals(Object obj) { return (this.name.equals(s.name)&&this.age==s.age); }
一开始这样重写会出现错误。错误原因是参数obj是父类引用,在多态中,父类应用不能访问子类对象,因此需要将obj向上转型。正确代码如下
public boolean equals(Object obj) { Student s=(Student)obj; return (this.name.equals(s.name)&&this.age==s.age); }