Object类
Object类是一个特殊的类,它是所有类的父类,是JAVA类层中的最顶层类,java.lang.Object类
如我们定义了一个类:class Anything{
}
这一个类其实等价于calss Anything extends Object{
}
Object类中常用的三个总要方法
①getClass()方法:getClass()方法
返回对象执行时的Class实例,然后使用此实例调用getName()方法可以取得类的名称
②toString()方法:将一个对象返回为字符串形式,在实际应用中通常重新toString()方法,为对象提供一个特定的输出模式
③equals()方法:默认实现是使用“==”运算符比较两个对象的引用地址,而不是比较对象的内容。所以要真正比较两个对象的内容,还需要自定义重新
代码演示如下:
重写equals方法:
public class person {
String name;
String id;
@Override
public boolean equals(Object obj) {
person p = (person)obj;//强制转换
boolean b1=this.name.equals(p.name);
boolean b2=this.id.equals(p.id);
return b1 && b2;
}
}
程序如下:
public class Demo {
public static void main(String[] args) {
person p1 = new person();
person p2 = new person();
person p3 = new person();
p1.name = "小明";
p1.id = "123";
p2.name = "小红";
p2.id = "123";
p3.name = "小明";
p3.id ="123";
System.out.println(p1.equals(p2));
System.out.println(p2.equals(p3));
System.out.println(p1.equals(p3));
System.out.println(p1==p3);
}
}
结果如下:
false
false
true
false