当前位置: 首页 > news >正文

JAVASE(十二)常用类(一)Object类

目录

一、API

二、Object类

1.toString()方法

2.equals方法


一、API

API文档是一个说明文档,记载了java官方预先定义的类和接口的功能,以及函数的功能。目的是给开发人员提供使用帮助说明。

二、Object类

Object类属于根基类,当一个类没有指明继承的父类时,会默认该类继承Object类。

1.toString()方法

Object中该方法用于返回当前对象的有关信息。当一个类中没有重写该方法的时候,就会自动调用Object类中的该方法。

其中 getClass().getName()指的是返回当前类名(即包名+类名),Integer.toHexString(hashCode())中hashCode()是拿到当前对象在内存空间中的哈希值(为10进制),Integer.toHexString()是指调用Integer类的toHexString方法,可以将拿到的哈希值转为16进制。

根据需要可以在用户自定义的类型中重写该方法。

如:定义一个Human,然后创建并输出该类对象。

结果如下:

此时就调用的是Object类中的toString方法。

如果在Human类中对该方法重写,返回名字,即:

再次运行主方法,结果如下:

2.equals方法

在前面运算符中==用来比较两个值是否相等。之前在对象引用中有提到过,事实上引用类型的变量的值的是该类型对象的地址,所以用==就比较的是对象的地址。

比如:

因为两个变量对应两个对象,每次创建对象就会分配一个内存地址,对象的地址也就是变量的值并不相等;所以使用==时,结果为false。  

但有时候,我们想去比较的是对象的内容。这时候就可以用equals方法:

注意此时输出里写的并不是h1.equals(h2)。原因是我们目前在Human类中没有重写equals方法,这样就会调用Object类中的equals方法;而Human类中的name属性是String类,在String类中已经重写了该方法。所以图片里调用的是String类中的equals方法。这样输出结果就是true。

Object类中的equals方法如下,实际就是直接比较两个对象的地址。和==效果一样: 

 而String类中进行如下重写,即先判断是否为同一个对象,如果是就直接返回true:否则判断方法传进来的参数是否属于String类,如果是就向下转型,随后根据两个字符串的长度和每个位置对应的字符进行比较,如果相等就返回true,有一个不符合就返回false。

而对于两个String类型的变量,如果都直接进行赋值,那么也可以用==比较,如下:

输出结果为true,这是因为String类型的字符串驻留的特性,即java会在字符串常量池中存储唯一实例, 当多次使用相同字面量时,会直接引用池中的同一对象,避免重复创建新对象,节省内存。

注意和以下写法区分。当用构造方法时,就会绕过字符串常量池,强制创建新对象:

此时输出中比较的就是两个对象的地址,结果就为false。 

相关文章:

  • 【STM32】GPIO输入(按键)
  • 如何实现高性能的在线 PDF 预览
  • 【新人系列】Golang 入门(十):错误处理详解 - 上
  • 广东新政激发产业活力,凡拓数创以全场景AI3D方案领跑机器人赛道
  • JAVA并发编程高级-线程安全集合-CopyOnWriteArrayList
  • 配置防火墙和SELinux(1)
  • 第二次作业
  • SpringAI 集成本地Ollama大模型
  • 2025年智慧能源与控制工程国际学术会议(SECE 2025)
  • 25大唐杯赛道一本科B组知识点大纲(下)
  • 基于OpenCV+MediaPipe手部追踪
  • Oracle数据库数据编程SQL<3.4 PL/SQL 自定义函数(Function)>
  • AI Agent开发大全第十六课-本地DeepSeek调用与官网DeepSeek调用stream流模式区别对待的全代码讲解
  • C语言中将整数转化为字符串的几种方法
  • linux两个重要的固态硬盘驱动说明
  • 缓存 “三剑客”
  • Spring Cloud 2023.x安全升级:OAuth2.1与JWT动态轮换实战
  • 举例说明计算机视觉(CV)技术的优势和挑战
  • Qt msvc2017程序无法用enigma vitrual box打包,用winrar打包
  • C语言 【初始指针】【指针一】
  • 自己做的网站怎么被百度收录/产品如何做市场推广
  • 南京网站搜索引擎优化/购物网站大全
  • 做web网站挣钱么/怎么优化自己公司的网站
  • wordpress 分类 文章数量/seo网站介绍
  • 网站的在线支付模块怎么做/中国联通和腾讯
  • 搬瓦工做网站好慢/今天的新闻