本文主要介绍toString方法及其重写,
1. toString方法介绍
toString()方法是在Object类里面的方法,它返回的是String型的数据:类名+@+哈希值的16进制形式`
源码
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
}
创建一个学生类包含年龄姓名两个成员属性和一个构造方法
class Student{
private int age;
private String name;
public Student(int age,String name) {
this.age = age;
this.name = name;
}
}
接下来我们创建学生类的对象,并且打印它
public class test04 {
public test04() {
}
public static void main(String[] args) {
Student stu1 = new Student(12,"肥肥");
System.out.println(stu1);
}
}
运行结果为
day02.Student@52e922
这就是:类名+@+哈希值的16进制形式`
注:在打印时自动调用toString方法
- 重写toString
但是我们有的时候打印对象希望出现的结果并不是这样的,因此我们需要重写toString方法使得打印结果为我们想要的形式
public String toString() {
return "学生的名字是:"+name+" "+"年龄是:"+age;
}
这样程序的运行结果是
学生的名字是:肥肥 年龄是:18
本节完整代码为
package day02;
public class test04 {
public test04() {
}
public static void main(String[] args) {
Student stu1 = new Student(18, "肥肥");//创建对象
System.out.println(stu1);//打印
}
}
class Student {
//私有属性
private int age;
private String name;
public String toString() {//重写toString方法
return "学生的名字是:" + name + " " + "年龄是:" + age;
}
public Student(int age, String name) {//构造方法
this.age = age;
this.name = name;
}
}
最终运行结果是:学生的名字是:肥肥 年龄是:18