Object类中常用的toString方法详解

基本介绍

toString方法是Object类中常用的一个方法,使用时有以下两种情况

(1)默认情况(未被重写的时候)

会默认返回:全类名(包名+类名)+@+哈希值的十六进制
在Object类中toString方法的源码是这样定义的

 public String toString() {
        return getClass().getName() + "@" + Integer.toHexString(hashCode());
    }

(2)被重写的情况

一般情况下,我们经常会重写toString方法来打印或者拼接对象的属性
重写后,默认是把对象的属性输出
在IDEA中重写toString的快捷键是alt+insert -->toString,重写的默认toString方法代码如下

class Student{
    private String name;
    private int age;
    private String job;//定义了Student类的属性,来看toString方法返回的东西

    public Student(String name, int age, String job) {
        this.name = name;
        this.age = age;  //构造器
        this.job = job;
    }
    //重写toString方法,输出对象的属性

    @Override
    public String toString() {  //这是输出对象属性的toSring方法,当然也可以自己更改
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", job='" + job + '\'' +
                '}';
    }
}

注意细节:当输出一个对象时,toString方法默认被调用

比如面(2)中的代码,如果在main函数中创建一个Student类的student对象,输出student的时候会默认调用toString方法

System.out.println(student);  //两行代码等价
System.out.println(student.toString());

版权声明:本文为m0_61373339原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。