Object介绍
- 它是所有类的超类,其他类都直接或间接继承Object 是其他类的根类
Object类的hashCode()方法
- public int hashCode()
- 返回该对象的哈希码值(int型的)。默认情况下,该方法会根据对象的地址来计算。
- 不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
getClass()方法
- public final Class getClass()
- 返回此 Object 的运行时类。(也可称为拿到了class的字节码文件)
- 可以通过Class类中的一个方法,获取对象的真实类的全名称。
class test{
public static void main(String[] args){
Random rand = new Random();
Class cl = rand.getCalss();
String name = cl.getName();
System.out.println(name);
}
}
结果为:java.util.Random
toString()方法
- public String toString()
- a:返回该对象的字符串表示。
public Stirng toString() {
return name + "," + age;
}
- 它的值等于:
- getClass().getName() + “@” + Integer.toHexString(hashCode())
- 由于默认情况下的数据对我们来说没有意义,一般建议重写该方法
equals()方法
- 指示其他某个对象是否与此对象“相等”。
- 默认情况下比较的是对象的引用是否相同。
- 由于比较对象的引用没有意义,一般建议重写该方法。
- ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值
- equals方法是一个方法,只能比较引用数据类型,所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性