JAVASE基础_03.面向对象编程--Object类

本文深入探讨Java中Object类的基础知识,包括toString方法的作用与重写,哈希编码的概念,以及equals方法的正确使用。了解如何在自定义类中重写这些方法,提升代码的可读性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Object类是所有Java类的根基类
  • 如果在声明中未使用extends关键字指明其基类,则默认基类为Object类

一、toString类型

  • Object类中定义有 public String toString() 方法,其返回值是String类型,描述当前对象的有关信息
  • 在进行String与其他类型数据的连接操作时(eg:System.out.println("info"+person)),将自动调用该对象类的toString()方法
  • 可以根据需要在用户自定义类型中重写toString()方法
  • Object类中的toString() 方法返回的是图片所示的String内容:类名+@+hash编码
  • 建议在类中都重写toString() 方法

二、哈希编码

在Java虚拟机中,哈希编码用来标识变量在内存中的位置。

三、equals() 方法

public boolean equals(Object obj)

  • 两个比较的对象都不能是空值
  • 对象本身equals本身,传递性,对称性,任何对象都不equals空值
  • 只有当两个对象都指向同一个内存时才会equals
  • 建议在类中都重写equals() 方法
  • jdk提供的一些类,如String,Data等,重写了Object的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一个类并且属性内容相同(并不一定是相同对象),返回true,否则是false。“==”操作符要求必须是相同对象

重写Cat类中的equals() 方法,重写:重写方法必须和 被重写方法 具有相同的方法名称参数列表返回类型

  1. if(obj instanceof Cat) : 判断obj是否是Cat类型
  2. Cat c = (Cat) obj;

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值