Object的概念
object是所有类的根类
object是不断抽取而来,具备着所有对象都具备的共性内容
object相关API
1.equals(object obj)
用于判断两个对象是否相同,比较的是地址,地址相同就返回true;
1.1.equals覆盖
public class Person{
private int age;
public Person(int age){
this.age=age;
}
public boolean equals(object obj){
return this.age=p.age;
}
}
此时调用equals()方法
Person p1=new Person();
Person p2=new Person();
p1.equals(p2);
就会报错,因为参数会被向上转型为object,就没有了Person的特有方法。
所以,应改为如下:
public boolean equals(object obj){
if(!obj instanceof Person){
throw new ClassCastException("类型错误");
}
Person p=(Person)obj;
return this.age=p.age;
}
ps:一般都会覆盖此方法,根据对象的特有内容,建立判断对象是否相同的依据。
2.hashcode()
返回该对象的哈希值
这个方法会把对象的存储地址通过哈希算法得到返回值。
十进制转为十六进制的方法
Integer.toHexString(value);
3.getClass();
返回对象的运行时类。
当我们new对象时,Person p =new Person(29);虚拟机会创建对应的class文件,Person.class文件,在java中万物皆对象,所以Person.class这个对象就是一个Class类的对象。
class Class{
name;
field;
}
开发中常见的就是getclass().getName();得到类名
4.toString();
这个方法返回的是这样的字符串:
对象.getClass().getName()+"@"+Integer.toHexString(对象.hashCode());
需要时可以重写此方法,
public String toString(){
return "123";
}