Object类:所有类的⽗类
提供了11个方法给所有的类
/**
* native ⽅法,⽤于返回当前运⾏时对象的 Class 对象,使⽤了 final 关键字修饰,故不允许⼦类重写。
*/
public final native Class getClass()
/**
* native ⽅法,⽤于返回对象的哈希码,主要使⽤在哈希表中,⽐如 JDK 中的HashMap。 */
public native int hashCode()
/**
* naitive ⽅法,⽤于创建并返回当前对象的⼀份拷⻉。
*/
protected native Object clone() throws CloneNotSupportedException
/**
* ⽤于比较2个对象的内存地址是否相等,String 类对该⽅法进⾏了重写以⽤于比较字符串的值是否相等。
*/
public boolean equals(Object obj)
/**
* 返回类的名字实例的哈希码的 16 进制的字符串。建议 Object 所有的⼦类都重写这个⽅法。
*/
public String toString()
/**
* native ⽅法,并且不能重写。唤醒⼀个在此对象监视器上等待的线程(监视器相当于就是锁的概念)。 如果有多个线程在等待只会任意唤醒⼀个。
*/
public final native void notify()
/**
* native ⽅法,并且不能重写。跟 notify ⼀样,唯⼀的区别就是会唤醒在此对象监视器上等待的所有 线程,⽽不是⼀个线程。
*/
public final native void notifyAll()
/**
* native⽅法,并且不能重写。暂停线程的执⾏。注意:sleep ⽅法没有释放锁,⽽ wait ⽅法释放了 锁 ,timeout 是等待时间。
*/
public final native void wait(long timeout) throws InterruptedException
/**
* 多了 nanos 参数,这个参数表示额外时间(以毫微秒为单位,范围是 0-999999)。 所以超时的时间 还需要加上 nanos 毫秒。。
*/
public final void wait(long timeout, int nanos) throws InterruptedException
/**
* 跟之前的2个wait⽅法⼀样,只不过该⽅法⼀直等待,没有超时时间这个概念
*/
public final void wait() throws InterruptedException
/**
* 实例被垃圾回收器回收的时候触发的操作
*/
protected void finalize() throws Throwable {}
三个 wait() 等待,两个 notify() 唤醒,一个 finalize() 回收,一个 getClass() 获取运行对象,一个 hashCode() 返回hashCode,一个 clone() 复制,一个 equals 比较,一个 toString() 返回字符串。