白菜之重寫toString()、equals()方法的注意事項

package TestSix;

/**
 * @author miaoyeye 1、創建家庭成員屬性,名字,年齡,性別,學歷,婚否,孩否,居住地
 *                   2、對家庭成員進行比較,如有性別、學歷一樣,則返回一樣,不判斷其他屬性 3、對創建家庭成員之後,輸出家庭成員的基本情況
<span style="BACKGROUND-COLOR: #ff6666"> * 重寫toString方法注意:
 * 1必須被聲明爲public
 * 2返回類型爲String
 * 3方法的名稱必須爲toString,且無參數
 * 4方法體中不要使用輸出方法System.out.println()
</span> */
public class FamilyName {
	private String name;
	private int age;
	private String sex;
	private String xueli;
	private String wedting;
	private String isson;

	public FamilyName(String name, String sex, int age, String xueli,
			String wedting, String isson) {
		this.age = age;
		this.isson = isson;
		this.name = name;
		this.wedting = wedting;
		this.xueli = xueli;
		this.sex = sex;
	}

	// 開始重寫方法equals();
	// equals不重寫是用來判斷兩個對象是否相同的,通過重寫可以修改判斷的邏輯,他和tostring是不一樣的,
	// tostring是類默認調用,equals是手動調用,其實寫個其他名字一個吊樣,裝逼的名字
	public boolean equals(Object obj) {// 這裏也可以參數類型改爲FamilyName
		if(obj == null ) {
			return  false;
		}
		if(this ==null){
			return false;
		}
		<strong><span style="color:#ff0000;">if(this.getClass() != obj.getClass()){ //getclass方法是用來判斷對象類型是否相同
			return false;
</span></strong>		}
		FamilyName a = (FamilyName) obj;
		return sex.equals(a.sex) && xueli.equals(a.isson) ;
	}

	<span style="color:#ff0000;">public String toString() {
		StringBuilder aa = new StringBuilder();// 創建類StringBuilder對象後調用
		aa.append("這是劉家" + name + "是個" + sex + "今年" + age + "學歷" + xueli+ wedting + isson);
		return aa.toString();// 固定格式
	}

</span>	public static void sop(Object obj) {
		System.out.println(obj);
	}
}

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