Object类
(1)equals(Object obj):比较两个对象是否相等。仅当被比较的两个引用变量指向同一个对象时,equals()方法才返回true。许多Java类都覆盖这个方法。
注:对于引用类型变量,Java编译器根据变量被显示声明的类型去编译。当“==”用于比较医用类型变量时,“==”两边的变量被显式声明的类型必须是同一个类型或有继承关系,即位于继承书的同一个继承分支上,否则编译报错。而在运行时,Java虚拟机将根据两边引用变量实际引用的对象进行比较。
在JDK中有一些类覆盖Object类的equals()方法,它们的比较规则为:如果两个对象的“类型“一致,并且内容一致,则返回true。如Date,String,包装类等。
在用户自定义的类中也可以覆盖Object类的equals()方法,重新定义比较规则。
(2)notify():从等待池中唤醒一个线程,把它转移到锁池。
(3)notifyAll():从等待池中唤醒所有的线程,把它转移到锁池。
(4)wait():使当前的线程进入等待状态,直到别的线程调用notify()或notifyAll()方法唤醒它。
(5)hashcode():返回对象的哈希码,HashTable和HashMap会根据对象的哈希吗来决定它的存放位置。
(6)toString():返回当前对象的字符串表示,许多类,如String,StringBuffer和包装类都覆盖了toString()方法,返回具有实际意义的内容
当System.out.printIn()方法的参数为Object类型时,printIn()方法会自动显调用Object对象的toString()方法,然后打印方法返回的字符串。
(7)finalize():对于一个已经不被任何引用变量引用的对象,当垃圾回收器准备回收该对象所占用的内存时,将自动调用该对象的finalize()方法。