Object类的常用方法
如图可知,Object类有12个成员方法,按照用途可以分为以下几种 :
(wait(long)和wait(long,int)都归到wait()里了,表上只有10项)
- 构造函数:Object();
- hashCode和equale函数用来判断对象是否相同;
- java多线程机制: wait(),wait(long),wait(long,int),notify(),notifyAll() ;
- toString()和getClass();
- clone() ;
- finalize()用于在垃圾回收 ;
函数说明:
1.hashCode和equale函数
hashcode(): 用于获取对象的哈希值(逻辑地址),这个值的作用是检索 ; 获取哈希码
equals(): 用于确认两个对象是否相同 (此处指的是地址是否相同); 比较对象的地址值是否相等,如果子类重写,则比较对象的内容是否相等;
- 哈希值相同的对象不一定equale() ; equale()返回true的两个对象一定相同 ;
- 源码:
2.java多线程机制 - wait(),wait(long),wait(long,int),notify(),notifyAll()
- 在使用的时候要求在synchronize语句中使用 ;
- wait()用于让当前线程失去操作权限,让当前线程进入等待序列 ; 多线程中等待功能
- wait(long) 和wait(long,int)用于设定下一次获取锁的距离当前释放锁的时间间隔 ;
- notify()用于随机通知一个持有对象的锁的线程获取操作权限 ; 多线程中唤醒功能
- notifyAll()用于通知所有持有对象的锁的线程获取操作权限 ; 多线程中唤醒所有等待线程的功能
- 源码:
3.toString()和getClass()
toString()
- 返回一个String对象,用来标识自己 ; 把数据转变成字符串
- 默认情况下打印出来的没有意义,一般建议重写该方法 ;
- 源码:
getClass()
- 获取类结构信息 ;
- getClass()经常用于java反射机制 ;
- 源码:
4.clone()
- 简单理解就是复制拷贝; 克隆
- 源码:
5.finalize()
- 垃圾回收前执行的方法 ;
- 源码: