种地 发表于 2024-7-23 19:32:28

Java底子-学习笔记07

07 Object类详解

Object类详解

object是所有类的超类,它拥有的方法,其他所有类的对象都会拥有,可以直接利用。
equals方法


[*]== 和 equals的对比

[*]== 是一个比较运算符:
既可以判断基本范例(判断的是值是否相当);也可以判断引用范例(判断的是地址是否相当),当双方范例不相当时编译不通过。
[*]equals是object类的方法:
只能用来判断引用范例;
默认判断的是地址是否相当,子类中往往重写该方法,用于判断内容是否相当。好比Integer,String。

hashcode方法

返回该对象的哈希码值,支持此方法是为了提高哈希表(例如 Java.util.Hashtable提供哈希表)的性能。

[*]提高具有哈希结构的容器的服从
[*]两个引用,假如指向的是同一个对象,则哈希值肯定是一样的
[*]两个引用,假如指向的是差别对象,则哈希值等价是不一样的(非绝对)
[*]哈希值主要根据地址号来的,但不能将地址和哈希值等价
toString方法

默认返回:全类名+@+哈希值的十六进制;子类往往重写toString方法,用于返回对象的属性信息

[*]重写 toString 方法,打印对象或拼接对象时,都会调用该对象的 toString形式
[*]当直接输出一个对象时,toString方法会被默认的调用
Finalize方法

当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用该方法。
(实际开发中,险些不消。了解应付面试)

[*]当对象被回收时,体系自动调用该对象的finalize方法。子类可以重写该方法,做一些释放资源的操纵(好比释放资源:数据库毗连,大概打开文件...)
[*]什么时候被回收:当某个对象没有任何引用时,则jvm就认为这个对象是一个垃圾对象,就会利用垃圾回收机制来销毁该对象,在销毁该对象前,会先调用finalize方法
[*]垃圾回收机制的调用,是由体系来决定,也可以通过System.gc()自动触发垃圾回收机制

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Java底子-学习笔记07