Object类常见方法
Object是一个特殊的类,所有的类都会隐式的继承Object类。Object中主要有以下11个方法1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30注:native方法:使用这个关键字说明这个方法是原生方法,底层使用C/C++实现,并且被编译成了DLL,由Java调用。函数实现在DLL中,JDK源码并不包含。
public final native Class<?> getClass()
用于返回当前运行时对象的Class对象,使用final关键字修饰,不允许子类重写。
public native int hashCode()
用于返回对象的哈希码,主要使用在哈希表中。
public boolean equals(Object obj)
用于比较2个对象的内存地址是否相等,String类对该方法进行了重写。
protected native Object clone() throws CloneNotSupportedException
用于创建当前对象的一份拷贝。Object本身并没有实现Cloneable接口,所以不重写clone方法并且进行调用就会发生CloneNotSupportedException异常。
public String toString()
默认返回类的名字@实例的哈希码的16进制的字符串,建议所有子类都重写该方法。
public final native void notify()
final方法,用于唤醒一个在此对象监视器上等待的线程。如果有多个线程在等待只会任意唤醒一个。
public final native void notifyAll()
用于唤醒该对象上所有的等待线程。
public final native void wait(long timeout) throws InterruptedException
public final void wait(long timeout, int nanos) throws InterruptedException
public final void wait() throws InterruptedException
暂停线程的执行,第二个超时时间需要增加nanos毫秒,第三个没有超时时间。
protected void finalize() throws Throwable { }
实例被垃圾回收器回收的时候触发的操作。