Object类
Object类是所有类的父类,所以:
-
Object的类的成员变量和成员方法,其余的类会继承,可以使用
-
Object类可以使用多态创建任意对象,同时拥有子类的重写方法
我们先假设子类重写了equals方法和hashCode方法(IDEA默认的重写)
public class Human {
private String name;
private int age;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof Human)) return false;
Human human = (Human) o;
if (getAge() != human.getAge()) return false;
return getName() != null ? getName().equals(human.getName()) : human.getName() == null;
}
@Override
public int hashCode() {
int result = getName() != null ? getName().hashCode() : 0;
result = 31 * result + getAge();
return result;
}
}