目录

Object类的概述

Object类中常用方法介绍

1.hashCode()方法

2.getClass()方法

3.toString()方法

4.equals()方法


Object类的概述


Object类是类层次结构的根类,每个类都使用Object作为超类。

所有对象(包括数组)都实现了Object类的方法。


Object类中常用方法介绍


1.hashCode()方法


语法:

object.hashCode()   //返回对象的哈希码值

哈希值是根据哈希算法计算出来的一个值,该值与地址值有关,但不是实际的值。可理解为地址值。

作用:

hashCode()方法主要用来在集合中实现快速查找等操作,也可以用于对象的比较。

规定:

  • 在同一个应用程序执行期间,对同一个对象调用hashCode(),如果equals()比较的信息不曾被改动过,必须返回相同的整数结果。同一个应用程序在不同执行期所得到的调用结果无需一致。
  • 如果两个对象被equals()方法视为相等,对这两个对象调用hashCode()方法时必须获得相同的整数结果。
  • 如果两个对象被equals()方法视为不相等,对这两个对象调用hashCode()方法不必产生不同的整数结果。

总结:

如果两个对象相同,那么它们的hashCode值一定要相同;如果两个对象的hashCo值相同,它们并不一定相同。

代码实例如下:

以上程序执行结果为:

上面代码中,因为String和ArrayList类都继承了Object,所以可以直接使用hashCode()方法。

如果两个对象相等,那么它们的哈希值也相等。代码示例如下:

执行结果为:


2.getClass()方法


语法:

object.getClass()

作用:

获取对象运行时对象的类。

代码实例如下:

以上代码执行结果为:


3.toString()方法


语法:

object.toString()

作用:

toString()方法是Object类中定义的一个重要方法,是对象的字符串的表现形式,返回值是String类型,用于描述当前对象的有关信息。

特点:

Object类中实现的toString()方法是返回当前对象的类型和内存地址信息,但在一些子类中进行了重写,也可以根据需要在用户自定义类型中重写toString()方法,来返回更适用的信息。

除显示调用对象的toString()方法外,在进行String与其他类型数据的连接操作时,会自动调用toString()方法。

调用toString()方法的默认返回格式为:对象的class名称 + @ + hashCode的十六进制字符串

代码实例如下:

以上代码执行结果为:


4.equals()方法


语法:

object.equals()

public boolean equals(Object obj)

作用:

检测一个对象是否等价与另外一个对象。

在Java中,数据等价的基本含义是指两个数据的值相等。在通过equals()和"=="进行比较的时候,引用类型数据比较的是引用,即内存地址,基本数据类型比较的是值。

注意:

  • equals()方法只能比较引用类型,"=="可以比较引用类型和基本类型。
  • 当用equals方法进行比较时,对类File、String、Date及包装类来说,是比较类型及内容而不考虑引用的是否是同一个实例。
  • 用"=="进行比较时,符号两边的数据类型必须一致(能自动转换的数据类型除外),否则编译出错,而equals()方法比较的两个数据只要是引用类型即可。

代码实例如下:

以上代码执行结果为:


最后,感谢大家的浏览,有能力的留个赞吧,万分感谢。


"生活不止眼前的苟且,还有诗和远方的田野。"

JavaSE之Object类相关推荐

  1. JavaSE(六)——Object类、克隆方法

    文章目录 1. Object类 1.1 定义 1.2 常用方法 2. 克隆方法 2.1 定义 2.2 对象浅克隆要注意的细节 1. Object类 1.1 定义 Object类是顶层父类,所有的类都直 ...

  2. JavaSE学习总结(八)常用类(上)Object类==与equals方法的区别浅克隆的特点Scanner类String类String两种创建对象方式的区别String类的各种功能

    JavaSE学习总结(八)常用类(上)/Object类/==与equals方法的区别/浅克隆的特点/Scanner类/String类/String两种创建对象方式的区别/String类的各种功能 常用 ...

  3. JavaSE基础知识(5)—面向对象(Object类)

    一.包 java.lang包,属于java中的核心包,系统默认导入的,不用手动导入 该包中的类:Object.System.String.Integer等 1.包的好处 ①分类管理java文件,查找和 ...

  4. JavaSE——面向对象高级(继承、final关键字、抽象类与接口、多态、Object类、内部类、包装类、可变参数)

    第3节 面向对象高级 一.继承 1.1 概述和使用 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类.继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法 ...

  5. 2019-9-17【Javase】object、final、实现关系、抽象类、接口、多态、UML类图

    文章目录 Object类 1.equals() hashCode():hash算法 toString(): 一.final 修饰: 类 ,方法,变量: 类: 此类不能被继承: 方法:不能被重写: 变量 ...

  6. JavaSE面向对象:继承、多态、Super、Object类、重写、static、final、静态成员、懒汉式、饿汉式、单例设计模式、初始化块、抽象类、抽象方法、接口

    感谢尚硅谷免费提供的视频 继承 ** 理解 ** 生活中的继承:子女继承了父母的财产或相貌或才华 java中的继承:一个类不用自己定义属性或方法,就已经具备了另一个类的属性和方法 把这种现象称为jav ...

  7. Class类和Object类及用法(二)

    getClass()方法 4.public final native Class<?> getClass(); getClass()也是一个native方法,返回的是此Object对象的类 ...

  8. Class类和Object类及用法(一)

    Java中Class类及用法 Java程序在运行时,Java运行时系统一直对所有的对象进行所谓的运行时类型标识,即所谓的RTTI. 这项信息纪录了每个对象所属的类.虚拟机通常使用运行时类型信息选准正确 ...

  9. 「JavaSE」- 常用类

    常用类 Object类 Object是所有类的父类,任何类都默认继承Object.理论上Object类是所有类的父类,即直接或间接的继承java.lang.Object类.由于所有的类都继承在Obje ...

最新文章

  1. Object Pools 喷泉效果实现
  2. c语言二维数组对每一列排序,二维数组对每一行进行排序。。
  3. cad渐开线齿轮轮廓绘制_如何在机械CAD软件中自动生成齿轮
  4. A+B in Hogwarts (20)
  5. 难道是我洞悉了CSDN网站订阅专栏收益的秘密?带你看看网站专栏一天营收几何?
  6. java 百亿计算器,百万换算成亿(百万换算成亿计算器)
  7. Netty网络编程实战2,使用Netty开发聊天室功能
  8. idea启动项目报错 --To prevent a memory leak, the JDBC Driver has been forcibly unregistered
  9. 【计算机毕业设计】java ssm网上宠物商店系统
  10. 拒绝同质化,主题酒店大势所趋
  11. 安卓手机修改IMEI方法
  12. C++(三十六)之电视机和遥控器友元类
  13. 【热门课后习题答案】数学分析、微积分、物理等
  14. 苹果app商品定价_iOS 开发_2017苹果内购价格表
  15. 300字的计算机英语作文,大学英语作文300字【五篇】
  16. iOS ERROR ITMS-9000: Missing or invalid signature. The bundle 'com.google.GPPSignIn3PResources' at
  17. soundtouch android,soundtouch
  18. 微信公众号如何安全“涨粉”
  19. 动作检测py-y5-kapao
  20. 修改一封邮件的发件人等信息

热门文章

  1. 麦肯锡等全球顶尖咨询公司常用的12个超牛思维模型
  2. iOS 获取本地视频播放路径
  3. 收藏的300首英文歌曲拿出来分享一下 [转自 PUB 外语角感谢雷锋叔叔]
  4. 思科三层交换机配置ACL(访问控制列表)的步骤讲解
  5. 作为从业者,你对进入芯片行业的新人有哪些建议?
  6. 【实验10-11 第4章综合实验】
  7. 将 AD 辅域控制器升级为主域控制器
  8. FITC-PEG-SH,荧光素-聚乙二醇-巯基的用途:用于修饰氨基酸,蛋白质等
  9. WDS桥接后路由器无法登陆
  10. 笔记本换固态后开机慢(长时间卡在黑屏)