equals方法练习

题目:自定义一个Person,有nameage属性,并一个两个参数的构造函数,在主函数main,定义两个Person对象p1和p2,如下,调用equals比较这个两个对象是否相等。

Person p1 = new Person(“xiaowang”,12);

Person p2 = new Person(“xiaowang”,12);

p1.equals(p2);


代码:

public class person {
String name;
int age;
public person(String name,int age){
this.name=name;   //改变当前对象name的值
this.age=age;
}
public boolean equals(Object obj){
//当且仅当参数不是 null,而是一个与此对象一样,都表示同一个 Boolean 值的 boolean 对象时,才返回 true。
if(obj==null){
return false;}
if(obj instanceof person){
//instanceof是用来测试一个指定对象是否是指定类或它的子类的实例
person p=(person) obj;
if((p.name==this.name)&&(p.age==this.age)){
return true;}
}
return false;
}
public static void main(String[] args) {
person p1 = new person("xiaowang",12);
person p2 = new person("xiaowang",12);
System.out.println("p1.equals(p2)="+p1.equals(p2));
}
}

猜你喜欢

转载自blog.csdn.net/lia_pulaihuan/article/details/48325633
今日推荐