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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM