一、简要介绍
toString 源码
- ```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;
}
}
- ```java
当直接输出一个对象时,就会==默认调用toString方法==
System.out.println(monster);// 等同于 monset.toString()
二、解释
- 全类名:包名+类名
1.