-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
Object类 : 所有对象的直接或者间接父类。
该类中定义的是所有对象都具备的功能。
boolean equals方法。指示其他某个对象是否与此对象“相等”。
class Demo
{
}
class DemoEquals
{
public boolean equals(Object obj)
{
if(obj instanceof DemoEquals )
{
return true;
}
return false;
}
}
public class ObjectDemo {
public static void main(String[] args) {
Demo dm1 = new Demo();
Demo dm2 = new Demo();
DemoEquals eq1 = new DemoEquals();
DemoEquals eq2 = new DemoEquals();
System.out.println(dm1.equals(dm2));
System.out.println(eq1.equals(eq2));
}
}
结果:false
true
原因:Demo类继承了Object类的equals方法,比较的是地址。
DemoEquals类覆盖了equals方法,比较的是类的对象是否相等。
String toString()方法:返回该对象的字符串表示。默认返回 对象名+@+哈希值
int hashCode()方法:返回该对象的哈希码值。
getClass()方法:返回此Object运行时的类。
public class ObjectDemo {
public static void main(String[] args)
{
Demo dm = new Demo();
Class c = dm.getClass();
String name = c.getName();
String ad = Integer.toHexString(dm.hashCode());
String ts = name+"@"+ad;
System.out.println(dm);
System.out.println(dm.toString());
System.out.println(ts);
}
}
输出:
Demo@15db9742
Demo@15db9742
Demo@15db9742
原因:System.out.println默认打印传入值的tostring方法。
tostring方法返回的值=getClass().getName() + '@' + Integer.toHexString(hashCode())。
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------