Java中object类的总结

java中的所有类都是Object类的子类,Object类是所有类的父类(基类)/祖先类/顶级类


Object类是java中的顶级类,即所有类的祖先类,Java里面除了Object类,所有的类默认都会隐式继承Object类,只有Object类是没有父类的(没有继承关系的)


所有的类的对象的内存地址都可以被Object类类型的变量接收(向上转型),也就是使用Object类类型的变量可以接收所有类的对象的内存地址


Object类中toString方法

Object类中定义了toString方法,当我们打印对象/对象名的时候,会自动调用Object类当中的toString方法,执行Object类的toString方法,输出的是toString方法返回的内容,也可以自己手动调用此方法


默认的从Object类当中继承下来的toString方法,返回的是类名@对象的内存地址(引用地址)经过哈希算法后得到的十六进制的哈希码


如果我们想手动修改打印对象/对象名时候输出的内容,可以在Object类的子类中(也就是其他所有类中)重写toString方法,将toString方法的返回值设置为自己想要打印的内容


重写toString方法写法: public String toString() { 代码...... }


Object类中equals方法

Object类中定义了equals方法,当我们比较两个对象内存地址(引用地址)是否相同时,可以使用Object类中的equals方法


Object类中equals方法使用:对象1.equals(对象2)


如果两个对象的内存地址(引用地址)相同,则返回true,否则返回false


如果是两个基本类数据类型数据进行比较使用==双等号来比较,如果是两个引用数据类型数据的内容就需要重写equals来进行比较,两个引用数据类型数据使用==双等号比较的是它们俩的内存地址是否相同,也就是否是同一个对象


如果要比较对象中内容,必须重写Object中的equals方法,因为equals方法默认也是按照地址比较的!!!比较对象中内容是否相同的时候,一定要重写equals方法


重写equals方法写法: public boolean equals(Object obj) { 代码..... }



两个引用(

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容