Administrator
发布于 2025-08-15 / 1 阅读
0
0

JavaSE-Object类的概述

  1. Object类的说明

    明确:java.lang.Object

    任何一个Java类(除Object类)都直接或间接的继承于Object类

    Object类称为Java类的根父类

    Object类中声明的结构(属性、方法等)就具有通用性。

    Object类中没有声明属性

    Object类提供了一个空参构造器

    重点关注:Object类中声明的方法

  2. 常用方法

    重点方法:equals() / toString()

    了解方法:clone() / finalize()

    目前不需要关注:getClass() / hashCode() / notify() / wait() / wait(xx) / wait(xx,yy)

  3. equals()的使用

    3.1 适用性:

    任何引用数据类型都可以使用

    3.2 java.lang.Object类中equals()的定义:

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

    3.3 子类使用说明:

    自定义的类在没有重写Object类中equals()方法的情况下,调用的就是Object类中声明的equals(),比较两个对象的引用地址是否相同。(或比较两个对象是否指向了堆空间中的同一个对象实体)

    对于想String、File、Date和包装类等。他们都重写了Object类中的equals()方法,用于比较两个对象的实体内容是否相等。

    3.4 开发中使用说明:

    实际开发中,针对于自定义的类,常常会判断两个对象是否equals(),而此时主要是判断两个对象的属性值是否相等。所以,我们要重写Object类的equals()方法。

    3.5 高频面试题:区分 == 和 equals()

    • ==:运算符

    1️⃣ 使用范围:基本数据类型、引用数据类型

    2️⃣ 基本数据类型:判断数据值是否相等

    引用数据类型:比较两个引用变量的地址值是否相等。(或比较两个引用是否指向同一个对象实体)

    • equals()方法:

    使用范围:只能使用在引用数据类型上。

    具体使用:对于类来说,重写equals()和不重写euqlas()的区别


评论