toString方法

1 当打印一个对象的引用时,默认调用的就是这个对象的toString方法

2 当对象所在的类没有重写Object的toString方法,返回此对象所在的类的堆空间和实体的首地址值

3 当重写了以后,调用自己的toString方法,常常将对象的属性值返回

package lianxi3;

public class Colleague {
    private String name;
    private  String department;//public时子类可以直接输出该属性

    public Colleague() {
        name = "Xiaoli";
        department = "信息中心";
    }

    public Colleague(String name, String department) {
        super();
        this.name = name;
        this.department = department;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

}
package lianxi3;

public class Friend extends Colleague {
    private String relation;

    public Friend() {
        // super();
        relation = "VeryGood";
    }

    public Friend(String relation) {
        // super();
        this.relation = relation;
    }

    public String getRelation() {
        return relation;
    }

    public void setRelation(String relation) {
        this.relation = relation;
    }

    // 手动生成
    // public String toString() {
    // return "name:"+name+"\tdepartment:"+department+"relation:"+relation;
    // //当父类属性是public可以用
    // return
    // "name:"+super.getName()+"\tdepartment:"+super.getDepartment()+"relation:"+relation;
    // }
    // 自动生成
    @Override
    public String toString() {
        return "Friend [relation=" + relation + ", getDepartment()="
                + getDepartment() + ", getName()=" + getName() + "]";// 子类中继承了父类所有public方法,直接调用
    }

}
package lianxi3;

public class TestToString {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Colleague f = new Friend();
        System.out.println(f);        //lianxi3.Friend@dc8569 
                                      //--->name:Xiaoli    department:信息中心relation:VeryGood
        System.out.println(f.toString()); //lianxi3.Friend@dc8569 
                                          //--->name:Xiaoli    department:信息中心relation:VeryGood
        System.out.println(f.getName()); //
    }

}
posted on 2014-11-30 12:12  追梦的小屁孩  阅读(124)  评论(0编辑  收藏  举报