toString和equals两个比较常见的重写方式

toString 重写

package
com.test; public class Test extends Object {------------所有引用类型的父类都是Object private int id; private String name; public Test(int id, String name) { this.id = id; this.name = name; } @Override public String toString() {---------------------toString方法重写 return "Test [id=" + id + ", name=" + name + "]"; } }

  equals方法重写

package com.test;

public class Rabbit {
    public String name;
    public String furcolor;
    public int age;
    
    public Rabbit(String name, String furcolor, int age) {
        super();
        this.name = name;
        this.furcolor = furcolor;
        this.age = age;
    }
    
    public boolean equals(Object obj) {
        if(obj == null) {
            return false;
        } else {
            if(obj instanceof Rabbit) {
                Rabbit rabbit = (Rabbit)obj;
                if(this.age == rabbit.age 
                        && this.name == rabbit.name 
                        && this.furcolor == rabbit.furcolor) {
                    return true;
                }
            }
        }
        return false;
    }
    
}
package com.test;

public class Main {
    public static void main(String[] args) {
        // 所有的引用类型的父类都是Object
/*        Test t = new Test(23, "小明");
        System.out.println(t);*/
        
        Rabbit r1 = new Rabbit("小灰", "白色", 3);
        Rabbit r2 = new Rabbit("小灰", "白色", 3);
        
        System.out.println(r1 == r2);
        System.out.println(r1.equals(r2));
    }
}

 

posted @ 2017-05-18 16:32  yinyanlei  阅读(301)  评论(0编辑  收藏  举报