java中直接打印对象
java中直接打印对象,会调用对象.toString()方法。如果没有重写toString()方法会输出"类名+@+hasCode"值,hasCode是一个十六进制数
1 //没有重写toString()方法的类 2 class Person{ 3 private String name; 4 //构造方法 5 public Person(String name){ 6 this.name = name; 7 } 8 } 9 //重写了toString()方法的类 10 class Animal{ 11 private String kind = "cat"; 12 //重写的toString()方法 返回值为String 13 public String toString(){ 14 return kind; 15 } 16 } 17 //测试类 18 public class PrintObject { 19 20 public static void main(String[] args){ 21 //测试重写了toString()方法的类 22 Person person = new Person("gxf"); 23 System.out.println(person); 24 25 //测试没有重写toString()方法的类 26 Animal animal = new Animal(); 27 System.out.println(animal); 28 } 29 }
上面代码打印的结果是
Person@5a20d10a
cat
Please call me JiangYouDang!