Java Object类方法有哪些?

161 阅读1分钟

image.png

前言

除开构造方法Object()和重载方法wait(),Object类一共有一共有9中方法。

Object中的九种方法

clone()

实现对象的浅拷贝的clone方法

hashcode()

hashCode()用于获取对象的哈希值,这个值的作用是检索

equals()

equals()用于确认两个对象是否相同,比较地址值

toString()

返回一个String用来表示Object对象

public String toString() {
    return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

getClass()

getClass()返回一个Class对象

public final Class<?> getClass() {
  return shadow$_klass_;
}

如果打印出来会发现结果是如下格式

class package.name.xxx

因为返回的是一个class对象,后面可以跟class类的方法。用的是谁的构造函数,那么getClass返回的就是谁的类型。

getClass()经常用于java反射机制

wait(),wait(long),wait(long,int)

使当前线程等待,直到再被调用

notify()

唤醒在此对象的监视器上等待的单个线程。如果有任何线程正在等待这个对象,则选择其中一个线程被唤醒。选择是任意的,并由实现自行决定。线程通过调用 wait()方法之一在对象的监视器上等待。

notifyAll()

唤醒在此对象的监视器上等待的所有线程。 wait(),notify(),notifyAll()- 在使用的时候要求在synchronize语句中使用

finallize()

子类可以覆盖该方法以实现资源清理工作,GC在回收对象之前调用该方法