Java中Object的toString()方法

API中是這麼解釋的
toString
public String toString()返回該對象的字符串表示。通常,toString 方法會返回一個“以文本方式表示”此對象的字符串。結果應是一個簡明但易於讀懂的信息表達式。建議所有子類都重寫此方法。
Object 類的 toString 方法返回一個字符串,該字符串由類名(對象是該類的一個實例)、at 標記符“@”和此對象哈希碼的無符號十六進制表示組成。換句話說,該方法返回一個字符串,它的值等於:
getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
返回:
該對象的字符串表示形式。

/*public String toString();返回該對象的字符串表示
 * 
 * 
 * getClass().getName() + '@' + Integer.toHexString(hashCode())
 * 
 * Integer類下的一個靜態方法
 * public static String toHexString(int i):把一個整數轉化爲16進製表示的字符串
 * 
 * 現在是沒有意義的,所以建議子類重寫該方法(把該類的所有成員變量值組成返回即可),可以自動生成
 */
public class ToStringTest {
	public static void main(String[] args) {
		teacher t2 = new teacher();
		teacher t3 = new teacher();
		System.out.println(t2);
		System.out.println(t3);
		System.out.println("-----------------");
		System.out.println(t2.hashCode());//366712642
		System.out.println(t2.getClass().getName());
		System.out.println("-----------------");
		System.out.println(t3.hashCode());//1829164700
		System.out.println(t3.getClass());
		System.out.println("-----------------");
		System.out.println(t2.toString());
		System.out.println(t3.toString());
		System.out.println("-----------------");
		System.out.println(t2.getClass().getName()+'@'+Integer.toHexString(t2.hashCode()));
		System.out.println(t2.toString());
	}

}
class teacher{
	private String name;
	private int age;
	public teacher(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
	public teacher() {
		super();
		// TODO 自動生成的構造函數存根
	}
	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;
	}
	//@Override
	//public String toString() {
		// TODO 自動生成的方法存根
	//	return super.toString();
		//return "hello";
	//}
	@Override
	public String toString() {
		return "teacher [name=" + name + ", age=" + age + "]";
	}
	
}


在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章