***object中的通用方法

1.equals:实现是比较两个对象的地址来确定对象是否相等,可重写,非常重要,在java中通过equals比较两个对象上是否相同(相等)。

2.(唯一用处就是在使用hashmap,set等容器时提高比较效率)hashcode()是一个对象的地址值产生的一串数字,未重写前可以唯一的标识一个对象,为什么要有这个方法的原因主要是使用hashmap、set时保证这两个容器内数据不重复。

hashmap:使用hashcode()返回的散列值通过散列函数计算映射到map中的某个位置,如果该位置有元素,则调用equals()方法比较是否相同,不相同则解决hash冲突,相同则舍弃。

set:同样道理,set不允许重复元素,利用hashcode解决。

hashcode可以重写。

对象的equals()方法返回true时,两个对象hashcode必须相同(因为存到set会有重复数据)。

hashcode相同对象不一定相同。

3.registerNative() 作用是将本地方法向虚拟机注册,这样当程序调用本地方法后,jvm才可以找到这些方法。

4.getclass()返回当前类的类对象,用于反射。

5.clone()拷贝一个对象的副本,是protect的,给子类重写,浅拷贝。

6.tostring()返回对象的字符串标识形式,方便打印,了解对象信息的。

7.wait(),wait(long) waitr(long,int)用于线程间通信,阻塞当前线程

8.notify/notifyall 唤醒wait的线程。

9.finalize()对象被回收前会调用这个方法,看能否起死回生。

猜你喜欢

转载自www.cnblogs.com/gmzqjn/p/11704605.html