每天进步一点点之Java基础(1)——Object 类中的方法总结

 

1.Object 类的结构

每天进步一点点之Java基础(1)——Object 类中的方法总结_第1张图片

如图可知,Object 类中的方法,按照用途可以分为以下几种:

  1. 构造函数hashCode() 和 equals() 函数用来判断对象是否相同
  2. wait(), wait(long), wait(long,int), notify(), notifyAll() 线程等待和唤醒
  3. toString() 和 getClass()
  4. clone()
  5. finalize() 用于在垃圾回收
  6. registerNatives() 本地注册

2. 方法说明

  1. clone方法  
    保护方法,实现对象的浅复制,只有实现了 Cloneable 接口才可以调用该方法,否则抛出 CloneNotSupportedException 异常。
  2. getClass 方法
     
    final 方法,获得运行时类的类型。
  3. toString 方法
     
    返回一个 String 对象,用来标识自己。
  4. finalize 方法 
    该方法用于释放资源。当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
  5. equals 方法 
    用于确认两个对象是否“相同”。​​​​​​
  6. hashCode 方法 
    用于获取对象的哈希值。
  7. wait 方法 
    用于让当前线程失去操作权限,当前线程进入等待序列。
    wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。

    调用该方法后当前线程进入睡眠状态,直到以下事件发生。

    (1)其他线程调用了该对象的notify方法。

    (2)其他线程调用了该对象的notifyAll方法。

    (3)其他线程调用了interrupt中断该线程。

    (4)时间间隔到了。

    此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。

  8. notify 方法  
    唤醒在此对象监视器上等待的单个线程。
  9. notifyAll 方法
    唤醒在此对象监视器上等待的所有线程。

 

你可能感兴趣的:(Java学习笔记,Object,类)