oopDay5-Object底层方法,equals(),hashCode(),toString(),finalize()

本文详细介绍了Java中的Object类,包括equals方法用于比较对象的等价性,hashCode方法生成对象的哈希码,toString方法默认返回对象的内存地址以及如何重写以定制输出,以及finalize方法在垃圾回收前执行的善后操作。同时讨论了对象的哈希码和等价性的关系以及垃圾回收机制的基本概念。

Day5

Object类 祖先类

​ ↑

万物皆对象

Object 包含 方法

Object 中的方法

例如 Object的equals方法

1.equals

比较两个对象是否相等

==是比较两个对象的地址

this 指的是当前的对象

obj 是传入的对象

在这里插入图片描述

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

在这里插入图片描述

equals中的 ==

解释equals方法中==用来比较的是赋给其的地址

在这里插入图片描述

2.哈希 hash

hashCode() 得到对象地址有关的一串数 (通过散列算法得到)—> (hash码是内存地址)

1.如果两个对象的hash码 不一样一定 不是一个对象;

2.如果两个对象的hash码 一样不一定 不是一个对象;(有可能重写或者重复)

1.如果两个对象的hash码	不一样,	一定		不是一个对象;		

在这里插入图片描述

2.如果两个对象的hash码	一样,		不一定	不是一个对象;(有可能重写或者重复)

在这里插入图片描述

3.toString()

​ 我们在输出对象时 就是调用 对象的toString方法

​ MyObject mo = new MyObject

​ mo.toString()

在这里插入图片描述

1.1重写toString()

重写toString()方法之后,输出便走自己的了,否则是默认父类中的使用.

在这里插入图片描述

4.finalize

finalize()方法进行垃圾对象的回收处理

垃圾对象可以通过System.gc()方法进行调用回收机制.

垃圾对象被回收前的善后工作

垃圾对象是指没有被引用的,内存中的对象.即没有地址指向的对象是垃圾对象

1.finalize()

在这里插入图片描述

2.没有被回收

在这里插入图片描述

3.补充说明

在这里插入图片描述

2.梳理

Object四个方法
1.hashCode()

—>当前对象的 哈希码 和其内存地址有关

​ 如果 两个对象的hashcode不一样,则说明其 一定不是一个对象

​ 如果 两个对象的hashcode一样,这两个对象不一定是一个对象 如:重写

2.equals()

​ 比较两个对象是否相等 object中用==去判断

Object的equals的==比较的是地址

字符串的equals是比较的是内容

3.toString()

​ 默认输出的是内存地址

​ 我们常用重写来输出我们需要的东西

4.finalize

​ finalize()通过System.gc()方法进行调用回收机制

补充:

​ final 修饰符 修饰类 属性 方法

​ finally try{} catch{} finally{} 异常捕获的语句

​ finalize 垃圾回收的善后

梳理后期学习

1.wait 2.notify 3.notifyAll 4.getClass()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值