toString方法介绍与重写

简介: toString方法介绍与重写

toString方法

基本介绍

  • 默认返回:全类名+@+哈希值的十六进制,【查看object的toString方法】子类往往重写toString方法,用于返回对象的属性信息。
  • 重写toString方法,打印对象或者拼接对象时,都会自动调用该对象的toString形式。
  • 当直接输出一个对象时,toString方法会被默认的调用。

重写toString方法的必要性

未重写的打印结果

public class Stu {
    public String name;

    public Stu(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public int age;
    public String sex;

    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;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

测试类

public class test01 {
    public static void main(String[] args) {
        Stu stu = new Stu("bob",10,"nan");
        System.out.println(stu);
    }
}

image.png

重写后

public class Stu {
    public String name;

    public Stu(String name, int age, String sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }

    public int age;
    public String sex;

    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;
    }

    public String getSex() {
        return sex;
    }

    @Override
    public String toString() {
        return "Stu{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", sex='" + sex + '\'' +
                '}';
    }
    public void setSex(String sex) {
        this.sex = sex;
    }
}

image.png

相关文章
|
2月前
|
存储 算法 Java
为什么要重写 hashcode 和 equals 方法
为什么要重写 hashcode 和 equals 方法
24 0
|
5月前
|
存储
重写equals后为什么要重写hashcode方法
重写equals后为什么要重写hashcode方法
44 0
|
2月前
|
自然语言处理 算法 Java
为什么说重写equals时要重写hashcode
为什么说重写equals时要重写hashcode
|
4月前
|
存储 IDE Java
为什么重写 equals() 时必须重写 hashCode() 方法?(简单易理解)
为什么重写 equals() 时必须重写 hashCode() 方法?(简单易理解)
18 1
|
9月前
|
Java
Java面向对象中 Object类的详解和其中的equals()和toString()方法的详解
Java面向对象中 Object类的详解和其中的equals()和toString()方法的详解
39 0
|
9月前
|
存储
为什么重写 equals 方法就必须重写 hashCode 方法?
为什么重写 equals 方法就必须重写 hashCode 方法?
60 0
|
10月前
|
存储 Java
重写equals方法
我们在java程序中调用自带的equals方法时,你是否会有这样的疑问:明明我比较的数据都一样啊,为什么会返回false呢?有些人可能还会疑问,怎么有时候返回true?有时候返回false呢?这是为什么呢?其实是和Java底层人家写的equals方法逻辑有关系
|
10月前
为什么要重写 hashcode 和 equals 方法?
为什么要重写 hashcode 和 equals 方法?
56 0
重写toString()这个来自Object类的方法的意义
重写toString()这个来自Object类的方法的意义
85 0
|
存储 算法 搜索推荐
面试题:重写equals方法为什么通常会重写hashcode方法?
面试题:重写equals方法为什么通常会重写hashcode方法?
139 0