Commons Lang、ToStringBuilder#appendSuper

import org.apache.commons.lang.builder.ToStringBuilder;

class C2009062701 {
    int x;

    public String toString() {
        return new ToStringBuilder(this).
            append("x", x).toString();
    }
}

public class C2009062700 extends C2009062701 {
    String str = "foo";

    public String toString() {
        return new ToStringBuilder(this).
            appendSuper(super.toString()).toString();
    }

    public static void main(String[] args) {
        System.out.println(new C2009062700());
    }
}

で、

C2009062700@1fb8ee3[x=0]
import org.apache.commons.lang.builder.ToStringBuilder;

class C2009062703 {
    int x;

    public String toString() {
        return new ToStringBuilder(this).
            append("x", x).toString();
    }
}

public class C2009062702 extends C2009062703 {
    String str = "foo";

    public String toString() {
        return new ToStringBuilder(this).
            append(super.toString()).toString();
    }

    public static void main(String[] args) {
        System.out.println(new C2009062702());
    }
}

で、

C2009062702@1fb8ee3[C2009062702@1fb8ee3[x=0]]