每个类都是Object的子类,Object自带一个toString()方法,它的内容是这样的:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
解释:也就是打印 对象的运行时对象的类+@+该对象的hashcode的十六进制形式。
验证如下:
public class OuterClass {
int age;
String name;
public OuterClass(int age, String name) {
this.age = age;
this.name = name;
}
public static void main(String[] args) {
OuterClass outerClass = new OuterClass(18,"张三");
System.out.println(outerClass.toString());
System.out.println(outerClass); //这句效果和上面是一样的。 输出:Test.OuterClass@1b6d3586
System.out.println(Integer.toHexString(outerClass.hashCode())); // 直接打印十六进制形式的hashcode得到 1b6d3586
}
}