Object 类是一个特殊的类,是所有类的父类。它主要提供了以下 11 个方法: // native 方法,用于返回当前运行时对象的 Class 对象,使用了 final 关键字修饰,故不允许子类重写。public fi
Object 类是一个特殊的类,是所有类的父类。它主要提供了以下 11 个方法:
// native 方法,用于返回当前运行时对象的 Class 对象,使用了 final 关键字修饰,故不允许子类重写。
public final native Class<?> getClass()
// native 方法,用于返回对象的哈希码,主要使用在哈希表中,比如 JDK 中的HashMap。
public native int hashCode()
// 用于比较 2 个对象的内存地址是否相等,String 类对该方法进行了重写以用于比较字符串的值是否相等。
public boolean equals(Object obj)
// native 方法,用于创建并返回当前对象的一份拷贝。
protected native Object clone() throws CloneNotSupportedException
// 返回类的名字实例的哈希码的 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
// 参数除了毫秒还包括纳秒,因此它可以提供更高的等待时间精度。
public final void wait(long timeout, int nanos) throws InterruptedException
// 跟之前的2个wait方法一样,只不过该方法一直等待,没有超时时间这个概念
public final void wait() throws InterruptedException
// 实例被垃圾回收器回收的时候触发的操作
protected void finalize() throws Throwable { }
追问:什么是native方法?
native 是一个 Java 关键字,用于修饰方法。它表示该方法是一个本地方法,即它的实现不是用 Java 语言编写的,而是用其他语言(通常是 C 或 C++)编写的,并且被编译为与底层操作系统相关的机器语言。
【本文来自:台湾服务器 http://www.558idc.com/tw.html 复制请保留原URL】