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
使用。