Object类的toSring方法
Object类是所有Java类的根类,它提供了一些通用的方法,其中包括toString()方法。toString()方法返回一个字符串,用于表示该对象的字符串表示形式。如果没有在子类中重写这个方法,则默认的实现是返回对象的类名,紧跟着一个 '@' 符号,再加上该对象的哈希码的无符号十六进制表示。
例如,假设有如下的Person类:
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age;} // 省略getter和setter方法 // 这里没有重写toString()方法}
如果我们创建一个Person对象,并打印它的toString()方法的返回值,输出的内容将是类名,紧跟着一个 '@' 符号,再加上该对象的哈希码的十六进制表示:
Person person = new Person("Tom", 20);System.out.println(person.toString()); // 输出:Person@3fee733d
如果我们想要输出Person对象的属性值,可以在Person类中重写toString()方法:
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age;} // 省略getter和setter方法 @Override public String toString() { return "Person{name='" + name + "', age=" + age + "}";}}
这样,当我们打印Person对象的toString()方法时,输出的内容将是对象属性的字符串表示形式:
Person person = new Person("Tom", 20);System.out.println(person.toString()); // 输出:Person{name='Tom', age=20}
因此,重写toString()方法可以方便我们在调试和日志记录中输出对象的属性值。
网友评论