Object类的常用方法

Object类的常用方法-LMLPHP

如图可知,Object类有12个成员方法,按照用途可以分为以下几种 :

(wait(long)和wait(long,int)都归到wait()里了,表上只有10项)

  1. 构造函数:Object();
  2. hashCode和equale函数用来判断对象是否相同;
  3. java多线程机制: wait(),wait(long),wait(long,int),notify(),notifyAll() ;
  4. toString()和getClass();
  5. clone() ;
  6. finalize()用于在垃圾回收 ;

函数说明:

1.hashCode和equale函数

    hashcode(): 用于获取对象的哈希值(逻辑地址),这个值的作用是检索 ; 获取哈希码

    equals(): 用于确认两个对象是否相同 (此处指的是地址是否相同); 比较对象的地址值是否相等,如果子类重写,则比较对象的内容是否相等;

  • 哈希值相同的对象不一定equale() ; equale()返回true的两个对象一定相同 ;
  • 源码:

        Object类的常用方法-LMLPHP

2.java多线程机制 - wait(),wait(long),wait(long,int),notify(),notifyAll()

  • 在使用的时候要求在synchronize语句中使用 ;
  • wait()用于让当前线程失去操作权限,让当前线程进入等待序列 ; 多线程中等待功能
  • wait(long) 和wait(long,int)用于设定下一次获取锁的距离当前释放锁的时间间隔 ;
  • notify()用于随机通知一个持有对象的锁的线程获取操作权限 ; 多线程中唤醒功能
  • notifyAll()用于通知所有持有对象的锁的线程获取操作权限 ; 多线程中唤醒所有等待线程的功能
  • 源码:

        Object类的常用方法-LMLPHP

3.toString()和getClass()

    toString()

  • 返回一个String对象,用来标识自己 ; 把数据转变成字符串
  • 默认情况下打印出来的没有意义,一般建议重写该方法 ;
  • 源码:      

            Object类的常用方法-LMLPHP

    getClass()

  • 获取类结构信息   
  • getClass()经常用于java反射机制 ;
  • 源码:

           Object类的常用方法-LMLPHP

4.clone()

  • 简单理解就是复制拷贝; 克隆
  • 源码:

           Object类的常用方法-LMLPHP

5.finalize()

  • 垃圾回收前执行的方法 ;
  • 源码:

        Object类的常用方法-LMLPHP

12-10 18:10