Object类详解,equals,toString,finalize_听韩顺平课笔记
1.运算符==


面试题:==和equals的区别
2.查看jdk源码,equals方法(只能判断引用类型)
equals方法默认判断引用是否相等,通过重写,判断值是否相等


3.子类重写equals方法,Integer,String
重写前为地址比较,重写后为值比较
4.equals练习1
重写equals方法:
- 判断两个对象是否为同一个对象
- 判断传入对象是否符合规范(比较的两个对象类型要一致)
- 向下转型拿到需要比较的各个属性
- 进行比较


5.equals练习2

答案,String:

6.equals练习3
char,ASCII,比较的不是同一对象时编译报错


7.hashCode
哈希值的作用时提高具有哈希结构的容器效率
哈希值可能会碰撞,产生两个引用指向不同对象,但哈希值一样的情况(概率低)

8.toString方法

源码:

快捷键重写toString方法:Alt + Insert

直接输出一个对象,默认调用toString方法

9.finalize
- 什么是资源:数据库链接,打开的文件

如何让一个对象变成垃圾:让它的所有引用都指向null,垃圾回收器有自己的一套算法,一个对象不会刚变成垃圾就被回收

通过重写finalize方法实现自己的业务逻辑
没有重写则使用Object的finalize方法


实际开发过程中几乎不会使用finalize


浙公网安备 33010602011771号