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

0808-080x OBJECT

2015-07-31 16:47 459 查看
class Demo//extends Object
{
private int num;
Demo(int num)
{
this.num = num;
}
public boolean compare(Demo d)
{
return this.num == d.num;
}
}

class ObjectDemo
{
public static void main(String[] args)
{
Demo d1 = new Demo();
Demo d2 = new Demo();
Demo d3 =d1;
System.out.println(d1.equals(d2));
System.out.println(d1.equals(d3));//其实应用的是==
比较的是地址
}
}

查阅javaapi:类Object是类层次结构的根类。每个类都使用Object作为超类。

Object类是所有对象的直接或者间接的父类。内含了所有对象都具有的功能。

Object类中已经提供了对对象是否相同的比较方法。
如果自定义类中也有相同的 比较 功能,
只要演戏父类中的功能,建立自己特有的比较内容即可。(覆盖)

class Demo
{
private int num;

public boolean equals(Object obj)//复写
{
if( !(obj instanceof Demo))
return false;
Demo d = (Demo)obj;
return this.num == d.num;
}
public boolean equals(Demo d)//重载
{

}
}

------------------------------------------------------------------------------------------------------------------
toString

class ObejectDemo
{
public static void main(String[] args)
{
Demo d1 = new Demo(4);
System.out.println(Integer.toHexString(d1.hashCode())));
System.out.println(d1.toString());
}
}

getmethod:反编译

一般来说,自己创建类的时候,经常要复写 比较 方法 和 toString方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: