一起Talk Android吧(第七十九回:Java中的超级类-Object)

本文介绍了Java中的超级类-Object的基本概念及其重要作用。Object作为所有Java对象类型的父类,不仅支持参数传递的通用性,还提供了equals()、hashCode()和toString()等核心方法。

各位看官们,大家好,上一回中咱们说的是Android中UI控件之RecyclerView的例子,这一回咱们说的例子是Java中的超级类-Object。闲话休提,言归正转。让我们一起Talk Android吧!

看官们,上一回咱们还说Android中的UI控件,这一回就说Java方面的知识,这变化是不是有点快了呢,其实不快,我们在本系列小说开始的时候就说过,Java是开发Android的基础,这相当于在Andrid开发中穿插一些基础知识,大家不要感觉到意外。此外,最近在工作中调试程序时遇到了麻烦,所以重新回顾了超级类-Object的知识,并且做了总结。这也算是个“导火索”吧。好了,闲话休提,现在开始进入本章回主题,也就是Java中的超级类-Object。

看官们,Java中的类型除了基本类型外,其它都是对象类型,这些对象类型都有一个共同的父类Object,我们也叫它超级类。有看官说,我们自定义的类也有这个超级类吗?回答是肯定的。虽然我们自定义类的时候没有明显的使用
extends Object,但是也会继承这个超级类。

超级类经常在传递参数时使用,把参数的类型设置为Object,这样就可以接收任何非基本类型的对象,当我们需要使用该对象的时候再把该对象转回到具体的类型就可以。这点其实不意外,它完全符合面向对象中的要求。试想想,把子类对象转换为父类对象,这不是很正常的吗。

除了这个功能外,超级类还有其它的功能,那就是它提供的三大方法:

equals()
hashCode()
toString()

这三个方法有哪个功能呢?我们该如何使用它们呢?我们再后面章回中再做详细的介绍。

各位看官,关于Java中的超级类-Object的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!


PS G:\yxwy-daima\rhzfdd-sys> dir "G:\yxwy-daima\rhzfdd-sys\src\views\components" -Force >> 目录: G:\yxwy-daima\rhzfdd-sys\src\views\components Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 2025/7/3 15:17 AblSocket d----- 2025/7/3 15:17 AudioConfig d----- 2025/7/3 15:17 CarPlay d----- 2025/7/3 15:17 CommonDialog d----- 2025/7/10 9:41 cvNextVideoComp d----- 2025/7/10 9:41 deviceComp d----- 2025/7/3 15:17 DictData d----- 2025/7/3 15:17 DictTag d----- 2025/7/3 15:17 DownloadComp d----- 2025/7/3 15:17 EasyBasePlayer d----- 2025/7/3 15:17 fixedDialog d----- 2025/7/3 15:17 flvComp d----- 2025/7/3 15:17 Gb28181Talk d----- 2025/7/3 15:17 graphicMapComp d----- 2025/7/3 15:17 GroupAllIpcArea d----- 2025/7/3 15:17 GroupMeetingItem d----- 2025/7/3 15:17 IpcArea d----- 2025/7/3 15:17 jessibucaComp d----- 2025/7/3 15:17 jkMeetingItem d----- 2025/7/3 15:17 jqCarPlay d----- 2025/7/3 15:17 jqIpcArea d----- 2025/7/12 9:42 JqList d----- 2025/7/10 9:41 JqList-tk d----- 2025/7/3 15:17 jqMeetingItem d----- 2025/7/3 15:17 jqSplitPlayer d----- 2025/7/3 15:17 jqVideoComp d----- 2025/7/3 15:17 liveqingVideoComp d----- 2025/7/12 9:42 mapComp d----- 2025/7/3 15:17 mapModel d----- 2025/7/3 15:17 MeetingItem d----- 2025/7/3 15:17 MineMap d----- 2025/7/3 15:17 moreVideoComp d----- 2025/7/3 15:17 Pagination d----- 2025/7/3 15:17 PtzGB28181 d----- 2025/7/3 15:17 RightToolbar d----- 2025/7/3 15:17 rtmpComp d----- 2025/7/3 15:17 SipCall d----- 2025/7/3 15:17 sipComp d----- 2025/7/11 10:33 SpeLineList d----- 2025/7/14 14:51 speLineVideoComp d----- 2025/7/3 15:17 SplitPlayer d----- 2025/7/3 15:17 svgIconComp d----- 2025/7/3 15:17 trackMapComp d----- 2025/7/3 15:17 uavAdd d----- 2025/7/12 9:42 UavList d----- 2025/7/3 15:17 VideoGrid d----- 2025/7/10 9:41 WrjJSC d----- 2025/7/3 15:17 wrjMeetingItem d----- 2025/7/12 9:42 WRJMqtt d----- 2025/7/3 15:17 wrjVideoComp d----- 2025/7/3 15:17 ZlmPlayer d----- 2025/7/3 15:17 zlmTalkComp d----- 2025/7/3 15:17 zlmWebRtcComp d----- 2025/7/3 15:17 zlmWebRtcComp1 只有 speLineVideoComp
07-15
### **问题分析** 1. **`dir -Force` 结果显示**: - 只有 `speLineVideoComp`(小写 `s`),没有 `SpeLineVideoComp`(大写 `S`)。 - 但之前 `Test-Path "SpeLineVideoComp"` 返回 `True`,说明: - **PowerShell 可能缓存了旧路径**(如之前存在但已被删除)。 - **NTFS 文件系统可能保留了旧目录记录**(即使删除后仍短暂存在)。 - **`.git` 或其他工具可能记录了历史路径**。 2. **`SpeLineVideoComp` 不存在**,但 `Test-Path` 误报,可能是: - **PowerShell 的 `Test-Path` 有延迟**(文件系统未完全同步)。 - **符号链接残留**(如之前是链接,但目标已删除)。 --- ### **解决方案** #### **方法 1:强制清理 PowerShell 路径缓存** PowerShell 有时会缓存路径信息,尝试以下命令刷新: ```powershell [System.GC]::Collect() # 强制垃圾回收 [System.IO.Directory]::GetDirectories("G:\yxwy-daima\rhzfdd-sys\src\views\components") | Select-Object FullName ``` 如果输出仍包含 `SpeLineVideoComp`,说明系统有残留记录。 #### **方法 2:检查 NTFS 元数据** 使用 `fsutil` 检查是否有残留的硬链接或重解析点: ```powershell fsutil reparsepoint query "G:\yxwy-daima\rhzfdd-sys\src\views\components\SpeLineVideoComp" ``` 如果报错“找不到文件”,说明无残留。 #### **方法 3:重建文件夹(确保干净状态)** 1. 删除 `speLineVideoComp`(确保无冲突): ```powershell Remove-Item -Path "G:\yxwy-daima\rhzfdd-sys\src\views\components\speLineVideoComp" -Recurse -Force ``` 2. 重新创建目标文件夹(正确大小写): ```powershell New-Item -Path "G:\yxwy-daima\rhzfdd-sys\src\views\components\speLineVideoComp" -ItemType Directory ``` #### **方法 4:检查 Git 历史记录** 如果项目使用 Git,可能因大小写不敏感导致冲突: ```powershell git config core.ignorecase false # 启用大小写敏感 git rm -r --cached "src/views/components/SpeLineVideoComp" # 清除缓存 git add . git commit -m "fix: resolve case sensitivity issue" ``` #### **方法 5:重启系统** 如果文件系统仍误报,重启可清除所有缓存和残留句柄。 --- ### **验证是否解决** 1. 再次运行 `Test-Path`: ```powershell Test-Path "G:\yxwy-daima\rhzfdd-sys\src\views\components\SpeLineVideoComp" # 应返回 False Test-Path "G:\yxwy-daima\rhzfdd-sys\src\views\components\speLineVideoComp" # 应返回 True ``` 2. 检查 `dir` 输出: ```powershell dir "G:\yxwy-daima\rhzfdd-sys\src\views\components" | Select-Object Name ``` 应仅显示 `speLineVideoComp`。 --- ### **最终建议** 1. **优先用 `dir -Force` 确认当前状态**(已确认只有 `speLineVideoComp`)。 2. **清理缓存并重建文件夹**(方法 1-3)。 3. **检查 Git 配置**(如适用,方法 4)。 4. **必要时重启系统**(方法 5)。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值