toString.md

image-20221023210406001

一、简要介绍

  1. toString 源码

    1. ```java
      //(1)getClass.getName 类的全类名 (包+类)
      // (2)Integer.toHexString(hashCode());将对象的hashcode转换为十六进制
      public String toString() {
      return getClass().getName() + “@” + Integer.toHexString(hashCode());
      }
      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34

      2. 子类默认重写

      1. ```java
      //案例
      package com.jhfuture.toStringmethods;

      public class test {
      public static void main(String[] args) {
      Monster monster = new Monster("小米", 123);
      System.out.println(monster.toString()+"hashcode"+monster.hashCode());
      }
      }
      class Monster{
      private String name;
      private int age;
      //重写toString 方法,输出对象的属性
      //使用快捷键即可
      //alt+insert
      @Override
      public String toString() {
      //一般是把对象的属性值输出
      return "Monster{" +
      "name='" + name + '\'' +
      ", age=" + age +
      '}';
      }

      public Monster(String name, int age) {
      this.name = name;
      this.age = age;

      }
      }
  2. 当直接输出一个对象时,就会==默认调用toString方法==

    1. System.out.println(monster);// 等同于 monset.toString()
      

二、解释

  1. 全类名:包名+类名
    1.