Java中的常用类——Object类

嗨~

各位小伙伴大家好呀~

这两天一直在想一个问题

接下来该写点什么?


看看自己公众号的调性

追热点又追不上

文笔还不好~

只能写点教程文章这个样子~

640?wx_fmt=jpeg

所以小伙伴们准备好

和小编一起捋一遍Java基础了吗?


那咱们开始了

今天先来认识一下 Object 类


Object 类


Object类概述


类 Object 是类层次结构的根类。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。

简单来说就是,Object类是所有类的父类,包括我们所写的类,我们在使用类的时候就会利用Object类中的方法~


Object类的hashCode()方法


public int hashCode();

返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。


640?wx_fmt=png


不同对象的 hashCode() 的值一般是不相同。但是,同一个对象的hashCode() 值肯定相同。(就好像身份证号一样,两个人的身份账号可能相同,但是一个人的身份证号肯定是不会变的~)


640?wx_fmt=png


Object类的getClass()方法


public final Class getClass()

返回此 Object 的运行时类。


public String getName()

可以通过 Class 类中的一个方法,获取对象的真实类的全名称。


640?wx_fmt=png

这个方法在反射中会有很大的作用哦~


Object类的toString()方法


public String toString()

返回该对象的字符串表示。


640?wx_fmt=png

哎~和讲好的不一样呀~


别急~我们来看一下 toString() 方法的底层代码:


640?wx_fmt=png

getClass().getName() + "@" + Integer.toHexString(hashCode())  这返回的是:类的全路径名称+它的哈希码值~在实际的开发中对我们来说是没有意义的~所以我们一般会重写该方法。


重写 toString 方法


Alt+Shift+s

就会弹出这个页面


640?wx_fmt=jpeg

点击进入下一步


640?wx_fmt=jpeg

然后点击ok既可以了~


640?wx_fmt=png


这下再运行代码就不一样了

(toString 是默认调用的可以省略哦~)

640?wx_fmt=png


Object类的equals()方法


public boolean equals();

指示其他某个对象是否与此对象“相等”


640?wx_fmt=png


查看底层代码:


640?wx_fmt=png


默认方法是比较的是对象的引用是否相同。由于比较对象的引用对于我们在实际开发中没有意义,一般还是要重写该方法。


步骤同上~


640?wx_fmt=png


640?wx_fmt=png


==号和equals方法的区别


“==” 是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值


equals() 方法是一个方法,只能比较引用数据类型,所有的对象都会继承 Object 类中的方法,没有重写 Object 类中的 equals 方法,equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性。


640?wx_fmt=jpeg

猜你喜欢

转载自blog.csdn.net/y0q2t57s/article/details/80975097