Java重写祖先类方法equals示例

  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()+"\n"+"年龄"+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());
    }
}

猜你喜欢

转载自www.cnblogs.com/chiweiming/p/11353562.html