欢迎光临散文网 会员登陆 & 注册

1.6 Object 类的常见方法总结

2020-11-12 11:49 作者:夜雨658  | 我要投稿

Object 类是一个特殊的类,是所有类的父类。它主要提供了以下 11 个方法: 

方法 1: public final native Class getClass() 

// native 方法,用于返回当前运行时对象的 Class 对象,使用了 final 关键 字修饰,故不允许子类重写。 

方法 2: public native int hashCode() 

// native 方法,用于返回对象的哈希码,主要使用在哈希表中,比如 JDK 中的 HashMap。 

方法 3:public boolean equals(Object obj) 

// 用于比较 2 个对象的内存地址是否相等,String 类对该方法进行了重写 用户比较字符串的值是否相等。 

方法 4:protected native Object clone() throws CloneNotSupportedException 

// naitive 方法,用于创建并返回当前对象的一份拷贝。一般情况下,对于 任何对象 x,表达式 x.clone() != x 为 true,x.clone().getClass() == x.getClass() 为 true。Object 本身没有实现 Cloneable 接口,所以不重写 clone 方法并且进行 调用的话会发生 CloneNotSupportedException 异常。 

方法 5:public String toString() 

// 返回类的名字@实例的哈希码的 16 进制的字符串。建议 Object 所有的 子类都重写这个方法。

方法 6:public final native void notify() 

// native 方法,并且不能重写。唤醒一个在此对象监视器上等待的线程(监 视器相当于就是锁的概念)。如果有多个线程在等待只会任意唤醒一个。 

方法 7: public final native void notifyAll() 

// native 方法,并且不能重写。跟 notify 一样,唯一的区别就是会唤醒在 此对象监视器上等待的所有线程,而不是一个线程。

方法 8:public final native void wait(long timeout) throws InterruptedException 

// native 方法,并且不能重写。暂停线程的执行。注意:sleep 方法没有释 放锁,而 wait 方法释放了锁 。timeout 是等待时间。 

方法 9:public final void wait(long time, int nanos) throws InterruptedException 

// 多了 nanos 参数,这个参数表示额外时间(以毫微秒为单位,范围是 0-999999)。 所以超时的时间还需要加上 nanos 毫秒。 

方法 10:public final void wait() throws InterruptedException 

// 跟之前的 2 个 wait 方法一样,只不过该方法一直等待,没有超时时间这 个概念。 

方法 11:protected void finalize() throws Throwable { }

// 实例被垃圾回收器回收的时候触发的操作


1.6 Object 类的常见方法总结的评论 (共 条)

分享到微博请遵守国家法律