持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情
1、写在前面
大家好,我是翼同学。今天文章的内容是:
Object类
2、内容
2.1、Object类的介绍
在Java中,Object类是所有类的父类。一个类要么默认继承于Object类,要么间接继承于Object类。因此任何类都可以使用Object类的所有方法。
需注意,Object类位于java.lang包中,编译时会自动导入。当我们创建一个类时,该类会默认继承自Object类。
2.2、Object类的使用
Object类有很多方法,我们可以直接调用。常用的有:
toString(): 默认返回当前对象在堆内存中的地址信息;equals(Object o): 默认比较当前对象与另一个对象的地址是否相同,如果相同则返回true,否则返回false;getClass(): 用于获取对象的运行时对象的类
toString()
由于toString方法返回的是当前对象的地址信息,即对象的类名称 + @ + hashCode 的十六进制字符串。所以一般在开发中,我们会重写toString方法,使其返回对象的内容信息,而不是地址信息。
如果我们在某个类中重写了toString()方法,则输出对象时调用的是被子类重写过的toString()方法。
equals()
equals(Object o)方法用于比较两个对象是否相等,默认比较的是当前对象与另一个对象的地址。事实上我们使用==运算符也能比较两个对象的地址是否相同,因此equals()方法存在的意义就是让子类能够重写该方法,以便自定义比较规则。
另外,一般的,如果子类重写了equals()方法,就需要重写hashCode()方法,比如String类再重写equals()方法的同时也重写了hashCode()方法。
hashCode: 哈希码,每个
Java对象都有的属性,可用于标识对象,提高对象在集合操作中的执行效率。
getClass()
getClass()方法用于获取对象所属的类,也就是返回对象属于那个类。
比如:
String obj = new String();
System.out.println(obj2.getClass()); // class java.lang.String
2.3、小结
Object类是Java类库中的一个特殊类,也是所有类的父类。当一个类被定义后,如果没有指定继承的父类,那么默认父类就是Object类。
另外,由于Object类可以接收任意的引用数据类型,所以在很多的类库设计上都采用Object作为方法的参数,这样操作起来也比较方便。
3、写在最后
好了,文章的内容就到这里,感谢观看。