您的位置:首页 > 移动开发 > Objective-C

Object类

2015-07-31 17:11 316 查看
Object类是其他所有类的爹

需求:复写Object类的public boolean equals(Object obj)方法

/**
*需求:复写Object的public boolean equals(Object obj)方法
*功能:比较Person的num值与另一个对象的num值是否相等
*/
class Person
{
private int num;
//构造方法
Person(int num){
this.num=num;
}
//复写equals
public boolean equals(Object obj){
/*这样写会报错,因为obj类没有定义num这个属性,需要下转型
return this.num==obj.num;
*/

/*弊端:当传入的参数不是Person对象时,不能强转型,所以需要判断处理
Person p=(Person)obj;
return this.num==p.num;
*/
//如果不是相同对象,直接false
if(!(obj instanceof Person)) return false;
//强制下转型
Person p=(Person)obj;
return this.num==p.num;

}
}

class Dog
{
}
class Equals_obj
{
public static void main(String[] args)
{
Person p1=new Person(1);
Person p2=new Person(1);
Dog d=new Dog();
System.out.println(p1.equals(p2));
System.out.println(p1.equals(d));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: