【面试题精讲】Object类的常见方法有哪些?

有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top

首发博客地址

面试题手册

系列文章地址


Object 类是所有类的根类,在 Java 中,它定义了一些常见的方法。下面是 Object 类的常见方法:

  1. equals(Object obj):用于比较两个对象是否相等。默认情况下,使用 == 运算符进行比较,即判断两个对象的引用是否指向同一个内存地址。如果需要自定义比较规则,可以重写该方法。

  2. hashCode():返回对象的哈希码值。哈希码是根据对象的内容计算得出的一个整数,用于快速查找和比较对象。在重写 equals 方法时,通常也要同时重写 hashCode 方法,以保证相等的对象具有相同的哈希码。

  3. toString():将对象转换为字符串表示形式。默认情况下,返回对象的类名和哈希码。可以通过重写该方法来返回更有意义的字符串。

  4. getClass():返回对象的运行时类。返回的是 Class 对象,可以获取类的信息,如类名、父类、接口等。

  5. clone():创建并返回当前对象的副本。默认情况下,使用浅拷贝方式复制对象,即只复制对象的字段值,而不复制引用类型的对象。如果需要实现深拷贝,可以重写该方法。

  6. finalize():在对象被垃圾回收器回收之前调用。可以重写该方法来执行资源释放等清理操作。

  7. notify() 和 notifyAll():用于在多线程环境下进行线程间的通信。notify 方法唤醒一个正在等待该对象锁的线程,而 notifyAll 方法则唤醒所有正在等待该对象锁的线程。

  8. wait():使当前线程进入等待状态,并释放对象锁。可以通过调用 wait 方法来实现线程间的协作和同步。

以上是 Object 类的常见方法,其他还有一些较少使用的方法,如 finalize、registerNatives 等。这些方法都是被 final 修饰的,无法被子类重写。

本文由mdnice多平台发布

相关推荐
孟陬1 小时前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端
GoGeekBaird1 小时前
别再给每个 AI 做自我介绍了:我做了一个「个人上下文」管理系统
后端·github·agent
码事漫谈1 小时前
腾讯混元 Hy4 正式版发布了
后端
Mikko71 小时前
Redis 连接数满了服务端有错误信息吗?连接数不增加却命令超时?6.2 实测连接池、超时与大 key 怎么判定
java·spring boot·redis·后端
苍何2 小时前
DeepSeek的Super-agent 设计,和我们的工程实践
后端
Patrick_Wilson3 小时前
第一次读 Go 项目:从两个源码文件弄清 package、import 和 go.mod
后端·go·编程语言
Patrick_Wilson3 小时前
执行 go build . 后,Go 怎样找到代码并生成程序
后端·go·编程语言
用户6919026813393 小时前
Redis 2:Redis 在怎么处理harness记忆
后端
Patrick_Wilson3 小时前
Go 变量不赋值时,为什么也有值
后端·go·编程语言
Patrick_Wilson3 小时前
读 Go 项目里的命令:run、build、test 分别做了什么
后端·go·编程语言