2,076
社区成员
发帖
与我相关
我的任务
分享
/*
* equals方法
*/
public class Demo09 {
public static void main(String[] args) {
Person p1 = new Person("小明",17);
Person p2 = new Person("小明",17);
System.out.println(p1.equals(p2));// 判断的是对象的内容
System.out.println(p1 == p2);// 判断的是对象的地址
}
}
class Person extends Object {
private int age;
private String name;
Person(String name,int age) {
this.age = age;
this.name = name;
}
public boolean equlas(Object obj) {
if (this == obj) // 如果两个引用指向的同一个对象,不用进行转换。直接比较地址。
return true;
if (!(obj instanceof Person)) { // 判断是否是同一类型
return false;
} else {
Person p = (Person) obj;// 要想使用子类对象的特有属性和行为,必须对其进行向下转型。
return this.name.equals(p.name) && this.age == p.age;
}
}
}