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);
}
}
白菜之重写toString()、equals()方法的注意事项
最新推荐文章于 2022-07-08 03:31:59 发布