Object
1.Object是所有类的根类,所有的类都是直接或者间接的去继承Object类。
2.类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。
Object里面的方法
toString
返回该对象的字符串表示。通常,toString 方法会返回一个“以文本方式表示”此对象的字符串。结果应是一个简明但易于读懂的信息表达式。建议所有子类都重写此方法。
如果我们打印一个对象的时候,实际上是打印这个对象调用toString的返回值。
toString在Object中的源码的实现:
getClass().getName():获得调用toString的方法的类的类名
Integer.toHexString(hashCode()):获得这个对象的hash值的16进制
hashCode方法
hashCode也是Object中的一个方法
由 Object 类定义的 hashCode 方法确实会针对不同的对象返回不同的整数。每一个对象都有一个唯一的hash值
getClass()
获取一个类的类对象。
public class ObjectTest2{
public static void main(String[] args)throws Exception{
Student s = new Student();
//调用从父类里面继承下来的getClass()方法获得类的类对象
Class c = s.getClass();
System.out.println(c.getName());
}
}
finalize()
用于垃圾回收,我们不用手动的去调用,由jvm来调用,
当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
equals
==:
1.基本数据类型:比较的是值
2.引用数据类型:比较的是地址
Object的equals比较的是两个对象,equals实现: