JAVA程序员每天都用到很多类,最常见的有toString()、equals()、hashCode()、waite()、notify()、getClass()等方法。而Object类对于新手程序员来说却不怎么常用。本篇就讲讲Object方法。

Object中含有: registerNatives()、getClass()、hashCode()、equals()、clone()、toString()、notify()、notifyAll()、wait(long)、wait(long,int)、wait()、finalize()共十二个方法。

registerNatives():

主要向JVM进行注册。
getClass():

类加载的第一阶段类的加载就是将.class文件加载到内存,并生成一个java.lang.Class对象的过程。getClass()方法就是获取这个对象,这是当前类的对象在运行时类的所有信息的集合。
hashCode():

在 Java 应用程序执行期间,在对同一对象多次调用 hashCode 方法时,必须一致地返回相同的整数,前提是将对象进行 equals 比较时所用的信息没有被修改;
如果两个对象 x.equals(y) 方法返回true,则x、y这两个对象的hashCode必须相等。
如果两个对象x.equals(y) 方法返回false,则x、y这两个对象的hashCode可以相等也可以不等。 但是,为不相等的对象生成不同整数结果可以提高哈希表的性能。

equals():

用于比较当前对象与目标对象是否相等,默认是比较引用是否指向同一对象。为public方法,子类可重写。
clone():

此方法返回当前对象的一个副本。
toString()

这是一个public方法,子类可重写, 建议所有子类都重写toString方法,默认的toString方法,只是将当前类的全限定性类名+@+十六进制的hashCode值。
wait()/ wait(long)/ waite(long,int):

这三个方法是用来 线程间通信用 的,作用是 阻塞当前线程 ,等待其他线程调用notify()/notifyAll()方法将其唤醒。这些方法都是public final的,不可被重写。
notify()/notifyAll():

如果当前线程获得了当前对象锁,调用wait方法,将锁释放并阻塞;这时另一个线程获取到了此对象锁,并调用此对象的notify()/notifyAll()方法将之前的线程唤醒。
finalize():

此方法是在垃圾回收之前,JVM会调用此方法来清理资源。
JAVA是非常博大精深的一门语言。只有仔细的钻研才会成为优秀的程序员。


最后Java基础入门的小伙伴,技术整合提升自己不要错过

需要课件、源码、安装包等资料,可以评论告诉我哦~