Object类
方法
getClass()方法
判断两个对象是否属于同一类型
经过自己的尝试,发现直接判断s1.getClass == s2.getClass也是可以的,为什么还要分别赋值再比较?
hashCode()方法
判断两个对象是否相同
如上图,很明显s1和s3返回的哈希码是相同的,两个对象相同
toString()方法
查看toString源码,发现确实是16进制哈希值,如下图
可以自写toString方法来返回自己想要的值
如上图,自写toString方法返回值是:
Test类调用了自写的toString方法,编译结果自然就成了name:age格式
equals()方法
通过比较两个对象的地址来比较两个对象是否相等,返回true or false
注意!虽然s4和s5表面相等,但地址是不一样的!equals方法比较后返回false!世另我!
如果我就是想让他俩相等,怎么办?重写方法!
equals方法重写步骤
重写后结果
如下图所示,结果为true
finalize()方法
用于垃圾文件的回收
程序
回收垃圾命令是System.gc();
重写finalize方法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律