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

第四周课前思考

1. 为什么说 Java 中的所有类都 is-a Object?

因为 Object 是所有类的最终父类,其他类都直接或间接继承自 Object 类。

2. 在 JDK 文档中查找 Object 的 toString 方法。说一说,该方法有什么用?使用 Eclipse 查看 Object 的 toString 方法的代码,结合代码说说该代码的用途。

该方法可以返回该对象的字符串表示形式。

toString 方法的代码如下:

public String toString() {return getClass().getName() + "@" + Integer.toHexString(hashCode());
}

调用 getClass() 获取对象的运行时类,调用 getName() 返回类的全限定名,hashCode() 返回对象的哈希码,Integer.toHexString() 将其转换为十六进制字符串。

3. 在 IDE 中查看 Object 的 equals 方法的代码,说说 equals 的用途。该方法被什么修饰符修饰,意味着什么?什么时候需要覆盖 equals 方法?结合 String 类的 equals 方法说说覆盖如何体现子类特有的特性?

Equals 方法的代码如下:

public boolean equals(Object obj) {return (this == obj);
}

equals 方法用于判断两个引用是否指向堆内存中的同一个对象实例。该方法被 public 修饰,意味着所有类都可以访问并重写,并且让所有对象都能通过统一的 equals 方法进行比较。当 equals 方法无法满足业务场景对 "相等性" 的定义时,就需要重写 equals 方法。String 类重写 equals 方法,将比较逻辑从 Object 类默认的内存地址比较,改为基于自身字符序列内容的比较,通过判断字符数组长度和逐个字符是否一致来确定相等性。

4. 如果在子类中想要复用父类的代码,要怎么办?

子类中复用父类的代码可以通过 super 关键字实现。

5. 可选:继承是复用代码的唯一方式吗?

不是,继承只是 Java 中代码复用的方式之一,而非唯一方式,除继承外,还有组合、接口等方式。

http://www.zskr.cn/news/10222.html

相关文章:

  • 二维差分模板
  • HDFS读写机制深度解析:分布式存储的核心奥秘 - 指南
  • 不定高元素动画实现方案(下)
  • F010 Vue+Flask豆瓣图书推荐大素材可视化平台系统源码
  • 记一次debian13 进入紧急模式
  • Rust 登堂 之 Sized和不定长类型 DST(七) - 实践
  • 科研人必知:293F与HEK293细胞在蛋白表达中的不同“超能力”
  • Trae与Gitee MCP深度集成:AI编程工具链迎来重大升级
  • 【2025-09-22】加班感悟
  • OpenAI Codex 使用 智谱 API
  • 使用Go语言实现高效定时任务功能
  • 创建者模式:工厂方式模式
  • 洛谷题单指南-进阶数论-P3811 【模板】模意义下的乘法逆元
  • Interlocked.Increment学习
  • 【F#学习】记录 Record
  • vue2 项目实例 动态路由菜单(四)
  • envoy和nginx的区别
  • 基于自适应差分进化算法的MATLAB实现
  • 【SPIE出版、主题宽泛、快速检索】2025年可持续发展与数字化转型国际学术会议(SDDT 2025)
  • Sping Boot 打包排除相关jar依赖包,CMD 启动方式 pom.xml 说明.
  • langfuse使用的postgresql异机备份和恢复(docker)并进行langfuse版本升级
  • java列队多种实现方式,
  • Ashampoo Music Studio 12.0.3 音频编辑处理
  • Gitee:本土化代码托管平台如何重塑中国开发者协作生态
  • WEB项目引入druid监控配置
  • PyCharm 2025.1安装包下载与安装教程
  • 1. 大模型的选择详细分析 - Rainbow
  • 批量查询设计桩号方法及文件格式
  • 详细介绍:树上LCA和树链剖分(未完待续)
  • 无人机、人形机器人 —— 电池电压(电量)对运行状态的影响