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]]