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

原文地址:https://www.cnblogs.com/luckygxf/p/3520685.html