1. 程式人生 > >toString方法講解

toString方法講解

 重寫toString方法
        1、 為什麼要重寫toString方法?
            * toString方法返回該物件的字串表示,其實該字串內容就是物件的型別[email protected]+記憶體地址值。
            * 由於toString方法返回的結果是記憶體地址,而在開發中,經常需要按照物件的屬性得到相應的字串表現形式,因此也需要重寫它。
            * Object類中的toString的核心程式碼
                getClass().getName() + "@" + Integer.toHexString(hashCode()) 
            * 由於預設情況下的資料對我們來說沒有意義,一般建議重寫該方法。
        2、案例核心程式碼(重寫Person類中的toString方法)

 /*
             * 重寫父類的方法toString()
             * 沒有必要讓呼叫者看到記憶體地址
             * 要求: 方法中,返回類中所有成員變數的值
             */
            public String toString(){
                return name + age;
            }    
            //Eclipse中自動生成的toString
            @Override
            public String toString() {
                return "Person [name=" + name + ", age=" + age + "]";
            }
            //測試程式碼
            public class TestToString {
                public static void main(String[] args) {
                    //呼叫Person類的方法toString()
                    //輸出語句中,寫的是一個物件,預設呼叫物件的toString方法
                    Person p = new Person("張三",20);
                    String s = p.toString();
                    System.out.println(p);
                    System.out.println(s);
                    /*
                     * System.out.println(p);
                     * System.out.println(p.toString());
                     */
                    
                    /*Random r = new Random();
                    System.out.println(r.toString());
                    
                    Scanner sc = new Scanner(System.in);
                    System.out.println(sc.toString());*/
                }
            }