Object 类的使用

1.  Object 类概述

   (1)Object 类的全类名为 java.lang.Object 。

   (2)Object 类是所有 Java 类的根父类,如果在类的声明中未使用 extends 关键字指明其父类,则此类默认继承 Object 类。即所有的 Java 类(除 Object 类本身)都直接或间接继承于 Object 类

   (3)由于 Object 类是所有 Java 类的根父类和继承性的原因,故 Object 类中的功能 ( 属性、方法) 具有通用性。

────────────────────────────────────────────────────────────

2.  Object 类中的主要结构

    (1)属性:

    (2)方法:Object()、equals()、toString()、getClass()、hashCode()、clone()、finalize()、wait()、notify()、notifyAll()

主要方法介绍

 类型

描述

public Object()

构造

构造器,Object 类只声明了一个空参的构造器

public boolean equals(Object obj)

普通

根据两个对象的地址值比较两个对象是否相同

public native int hashCode();

普通

取得 Hash 码

public String toString()

普通

对象输出时调用

────────────────────────────────────────────────────────────

3.  equals():方法

    (1)Object 类中 equals() 的定义

public boolean equals(object obi) {

return (this ==obj);

}

    (2)equals 方法适用于引用数据类型,用于比较两个对象的地址值是否相同。

    (3)类可以重写 equals() 方法,用于比较两个对象的指定内容是否都相等,像String、Date、File、包装类等都重写了 Object 类中的 equals() 方法。重写以后,比较的不是两个引用的地址是否相同,而是比较两个对象的实体内容是否相同。

    (4)重写 equals() 方法的原则

对称性:如果 x.equals(y) 返回为 true,那么 y.equals(x) 也应该返回是 true。

自反性:x.equals(x) 必须返回是 true。

传递性:如果 x.equals(y) 返回是 true,而且 y.equals(z) 返回是 true, 那么 z.equals(x) 也应该返回是 true。

一致性:如果 x.equals(y) 返回是 true,只要 x 和 y 内容一直不变,不管重复 x.equals(y) 多少次,返回都是 true。

任何情况下,x.equals(null),永远返回是 false; x.equals(和 x 不同类型的对象) 永远返回是 false。

────────────────────────────────────────────────────────────

4. hashCode() 方法

    (1)Java 强制规定:如果两个对象通过 equals 方法比较返回为 true,则这两个对象的 Hash 值也必须相同

    (2)重写 hashCode() 方法:通过 Objects 工具类的 hash() 方法

────────────────────────────────────────────────────────────

5.  toString() 方法

    (1)Object 类中 toString() 的定义

public string toString(){

return getclass( ).getName() +"@" + Integer.toHexString(hashCode());

}

    (2)当输出一个对象的引用时,实际上就是调用当前对象的 toString() 方法

    (3)toString() 方法在 Object 类中定义,其返回值是 String 类型,返回类名和它的引用地址。 在进行 String 与其它类型数据的连接操作时,自动调用 toString() 方法

    (4)用户可以根据需要在自定义类型中重写 toString()方法,如 String、Date、File、包装类等重写了 toString() 方法,返回字符串的值。

    (5)基本类型数据在转换为 String 类型时,自动调用了对应包装类的 toString() 方法

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值