使用System.out.println(对象),得到却是该对象的地址。
如果想要输出对象的描述,就需要重写Object toString() 方法。
System.out的println()方法只能在控制台输出字符串,而Object toString() 方法用于返回对象的字符串表示形式。
也就是说,下面两行代码效果相同。
System.out.println(Student);
System.out.println(Student.toString);
返回值
Object toString() 方法默认返回格式:对象的 class 名称 + @ + hashCode 的十六进制字符串。
Student.java
package Test;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
Test.java
package Test;
public class Test {
public static void main(String[] args) {
Student stu = new Student("张三",18);
System.out.println(stu);
}
}
输出结果:
如果想要输出对象的描述,就需要重写Object toString() 方法。
Student.java
package Test;
public class Student {
private String name;
private int age;
public Student() {
}
public Student(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
Test.java
package Test;
public class Test {
public static void main(String[] args) {
Student stu = new Student("张三",18);
System.out.println(stu);
}
}
输出结果: