toString方法
toString可以把实体类,或者其他类,以字符串或者规定的方式输出
默认的Object的toString方法打印出的类是一串看不懂的十六进制码
比如:
Student类
package com.cn.Student;
public class Student {
private String name;
private String gender;
private int age;
private int id;
private double score;
public Student(String name, String gender, int age, int id, double score) {
this.name = name;
this.gender = gender;
this.age = age;
this.id = id;
this.score = score;
}
public Student() {
}
}
测试类
package com.cn.Student;
public class Test {
public static void main(String[] args) {
Student student=new Student();
System.out.println(student);
}
}
前面给出的是他的路径,@后面给出的是十六进制码,我们看不懂,这时候就要重写toString方法,不需要我们手写,在Student类里面打个toString就可以自动生成。
比如:
package com.cn.Student;
public class Student {
private String name;
private String gender;
private int age;
private int id;
private double score;
@Override
public String toString() {
return "Student{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
", age=" + age +
", id=" + id +
", score=" + score +
'}';
}
public Student(String name, String gender, int age, int id, double score) {
this.name = name;
this.gender = gender;
this.age = age;
this.id = id;
this.score = score;
}
}
再次打印:
package com.cn.Student;
public class Test {
public static void main(String[] args) {
Student student=new Student();
System.out.println(student);
}
}
总结
没有重写tostring ,每执行System.out.println() 会默认调用Object 的toString 方法
重写tostring,每执行System.out.println() 会调用重写的toString 方法,情况则会根据重写的方法打印输出成自己想得到的格式