Java中直接輸出一個類的對象


例如

package com.atguigu.java.fanshe;

public class Person {
    String name;
    private int age;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    
    //包含一個帶參的構造器和一個不帶參的構造器
    public Person(String name, int age) {
        super();
        this.name = name;
        this.age = age;
    }
    public Person() {
        super();
    }

}

調用的時候

public class ReflectionTest {
    @Test
    public void testNewInstance(){

        Person per = new Person();
        System.out.println(per);
        
        Person p = new Person("李華",20);
        System.out.println(p);
    }

    //結果是
    //com.atguigu.java.fanshe.Person@4823d4c8
    //com.atguigu.java.fanshe.Person@2866bb78

分析:
  Java中直接輸出一個類的對象的時候,會調用這個類的toString()方法,自己寫的類沒有覆蓋這個方法的話就是繼承Object類的這個方法,Object中toString()方法的實現是這樣的:

       getClass().getName() + "@" + Integer.toHexString(hashCode())。

  后面跟的是這個類的哈希碼值,如果希望這個類打印出你希望的格式,你就要覆蓋toString方法。

 

 

 


免責聲明!

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



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