我们在创建Javabean对象的时候通常重写toString对象方法?为甚么呢?
一. toString方法是Object类中的方法之一,用来返回对象的字符串.
二.为什么重写toString 方法
三.代码演示
// 创建一个Person类对象,没有重写toString方法
public class Person {
private int age;
private String name;
private Integer height;
public Person() {
}
public Person(int age, String name, Integer height) {
this.age = age;
this.name = name;
this.height = height;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Main {
public static void main(String[] args) {
Person p =new Person();
// 打印对象
System.out.println(p);
}
}
运行结果如下:打印的是对象的地址值
// 创建一个Person类对象,没有重写toString方法
public class Person {
private int age;
private String name;
private Integer height;
public Person() {
}
public Person(int age, String name, Integer height) {
this.age = age;
this.name = name;
this.height = height;
}
public Integer getHeight() {
return height;
}
public void setHeight(Integer height) {
this.height = height;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
// 重写toString方法
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
", height=" + height +
'}';
}
}
public class Main {
public static void main(String[] args) {
Person p =new Person();
// 打印对象
System.out.println(p);
}
}
运行结果如下: 打印的是对象的属性值
解析:打印对象,即System.out.println(Object),在执行println方法时自动调用了Object.toString()的方法.打印的是对象地址值
// 重写toString方法
@Override
public String toString() {
return "Person{" +
"age=" + age +
", name='" + name + '\'' +
", height=" + height +
'}';
}
重写toString方法我们就可获取对象的属性值.