Object类,一般我们习惯称之为超类或根父类,这代表了它至高无上的低位。它是所有类的父类,它当中的一些属性将被所有类继承。
这里我主要总结了
toString()、equals()以及hashCode()这3个方法。
toString()方法
这里首先引入一段jdk源码:
1 | /** |
这个方法主要完成Object对象的文本化输出。输出内容由getClass().getName()和Integer.toHexString(hashCode())两部分组成。第一部分是:对象所属的包名加类名,第二个部分是:对象地址的hash表示。
在实际的开发中,我们一般会通过IDE自动重写该方法。
equals()方法
二话不说,上jdk源码:
1 | /** |
如注释所述,equals方法主要用于判断非空对象与另一给定对象,是否为同一对象(在堆内存中位于同一地址空间)。在实际开发中,我们一般会选择重写该方法去完成更具体的功能。例如,在jdk中的String类中,就重写了equals方法,去判断两个字符串是否相等。
hashCode()方法
jdk源码如下:
1 | /** |
hashCode方法,返回的是对象在内存中地址的hash编码。这在HashTable中会用到,主要是用作对象存储的index使用。