通常equals,toString,hashCode,在应用中都会被复写,建立具体对象的特有的内容。
class Demo
{
private int num;
public void Demo()
{
this.num = num;
}
public boolean equals(Object obj)// Object obj = new Demo(3); //此处使用了多态
{
if(!(obj instanceof Demo))
return false;
Demo d = (Demo)obj; //把父类 向下转型,强制转成子类,这样才能使用子类里的成员量
//或成员函数
return this.num==d.num;
}
}
public static void main(String[] args)
{
Demo d1 = new Demo(3);
Demo d2 = new Demo(4);
System.out.println(d1.equals(d2));
}
2,String toString():将对象变成字符串;默认返回的格式:类名@哈希值 = getClass().getName() + '@' + Integer.toHexString(hashCode())
为了对象对应的字符串内容有意义,可以通过复写,建立该类对象自己特有的字符串表现形式。
public String toString(){
return "person : "+age;
}
3,Class getClass():获取任意对象运行时的所属字节码文件对象。
4,int hashCode():返回该对象的哈希码值。支持此方法是为了提高哈希表的性能。
通常equals,toString,hashCode,在应用中都会被复写,建立具体对象的特有的内容。