Object类方法简单介绍(初学者)

标题:Object 类

介绍:Object类是jdk类库的根类.任何一个类默认继承Object.就算没有直接继承,最终也会间接继承.
接下来我们需要研究下Object这个类.

一. toString () 方法
语法结构:public String toString()
源代码:默认实现方法是:类名@对象内存地址转换为十六进制的形式

默认实现方法是:类名@对象内存地址转换为十六进制的形式

sun公司设计toString () 方法的目的是:通过调用这个方法可以将一个java对象转成成字符串的表示形式

建议所有子类重写此方法,以下是测试结果,没有重写toString () 方法
在这里插入图片描述重写此方法:idea上操作是 alt+f12 点击 @Override
在这里插入图片描述
注意:输出引用时会自动调用toString方法
在这里插入图片描述

二. equals() 方法
语法结构:public boolean equals (Object obj)
源码:
在这里插入图片描述
sun公司写的equals方法有时并不能满足我想要的要求,所大部分情况下需要我们自己重写.

这里还是那上面那个MyTime类来举例子.

重写之前:我创建了两个内容完全一样的对象(但是地址不一样),原来的equals方法是用 " == “来进行判断,结果显而易见是false(因为” == "比较的是两个对象的地址)
在这里插入图片描述
重写之后:我按照自己的判定条件 "年月日"相同则两对象相同(你也可以按照你的判定标准来定义两个对象相等的条件).

**第二个if条件和下面那行代码可能没有看懂我稍微解释下😗*我们要比较两个对象的内容相等首先要得到参数 o 的值,但Object类里没有我定义的 "year month day "成员变量,所以首先得进行向下转型(如果这个也不知道的话建议自己补补),如果两对象不是同一类型直接返回false(没有可比性).
在这里插入图片描述

总结:

  1. java中基本数据类型比较用 “==”
  2. java中所有的引用数据类型统一使用equals方法来进行比较

三.finalize方法
源码:
在这里插入图片描述
这个方法不需要程序员手动调用,JVM的垃圾回收器负责调用这个方法.

执行时机:当一个对象即将被垃圾回收器回收的时候,垃圾回收器负责调用finalize方法

finalize方法实际上上sun公司为java程序员准备额一个时机,垃圾销毁时机.如果希望在对象销毁时执行一段代码的话,之端代码要写到finalize方法中(自己重写这个方法)

类比静态代码块:
static {

}
静态代码在类加载时刻执行,并且只执行一次,这是sun公司为程序员准备的类加载时机

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值