Java中很重要的一个知识点就是所有类都默认继承Object类,所以创建的每一个类都继承了Object的方法,所有类都可以向上转型为Object类对象,当然可以重写Object里面的常用方法,有时候重写是十分必要的,比如重写Object类的equals方法和toString方法;原始equals方法比较的是两个对象的引用是否相等,原始toString方法返回的是对象的引用。
public class TestEquals { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public boolean equals(Object object){ TestEquals obj = (TestEquals) object; //高类型转换为低类型 if(obj.getName()==this.getName()){ //姓名相同的对象视为同一对象 return true; } return false; } @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("姓名:"+this.getName()+" "+"年龄"+this.getAge()); return sb.toString(); //StringBuilder重写了toString方法,返回本身字符串 } public static void main(String[] args) { TestEquals obj1 = new TestEquals(); TestEquals obj2 = new TestEquals(); obj1.setName("张三"); obj1.setAge(18); obj2.setName("张三"); System.out.println(obj1.equals(obj2)); System.out.println(obj1.toString()); } }