JDK源码阅读-------自学笔记(一)(java.lang.Object重写toString源码)

一、前景提要

  • Object类中定义有public String toString()方法,其返回值是 String 类型.

二、默认返回组成

  • 类名+@+16进制的hashcode,当使用打印方法打印的toString()默认就是返回整个格式

三、场景

  • 很多时候默认的返回,无法让人直观的看到对象的数据和结构类型,所以,一般重写其toString()方法,打印或输出需要的信息

四、实例重写

  • 重写代码
    1 @Override
    2     public String toString() {
    3         return "User{" +
    4                 "id=" + id +
    5                 ", userName='" + userName + '\'' +
    6                 ", passWord='" + passWord + '\'' +
    7                 '}';
    8     }
    View Code
  • 测试结果:    

         

五、源码阅读

1 public String toString() {
2         return getClass().getName() + "@" + Integer.toHexString(hashCode());
3     }
View Code

六、实例源码

 1 package com.baidu.www.bean;
 2 
 3 
 4 public class User {
 5 
 6     private Integer id;
 7 
 8     private String userName;
 9 
10     private String passWord;
11 
12     public User() {
13 
14     }
15 
16     public Integer getId() {
17         return id;
18     }
19 
20     public void setId(Integer id) {
21         this.id = id;
22     }
23 
24     public String getUserName() {
25         return userName;
26     }
27 
28     public void setUserName(String userName) {
29         this.userName = userName;
30     }
31 
32     public String getPassWord() {
33         return passWord;
34     }
35 
36     public void setPassWord(String passWord) {
37         this.passWord = passWord;
38     }
39 
40     @Override
41     public String toString() {
42         return "User{" +
43                 "id=" + id +
44                 ", userName='" + userName + '\'' +
45                 ", passWord='" + passWord + '\'' +
46                 '}';
47     }
48     
49     /**
50      * 测试toString()
51      *
52      * @param args 传入值
53      */
54     public static void main(String[] args) {
55 
56 
57         User user = new User();
58         user.setId(1);
59         user.setPassWord("123456");
60         user.setUserName("zhangsan");
61 
62         System.out.println("用户信息:" + user.toString());
63 
64     }
65 }
View Code

七、总结

经验传递

可以使用快捷键生成 IDEA右键---->Generate--->toString() 会生成自动重写的toString()

posted @ 2020-02-03 14:55  北极的大企鹅  阅读(485)  评论(4编辑  收藏  举报
阅读 - 79万