Java中Object类

Object类的概述

  • 类 Object 是类层次结构的根类。
  • 每个类都使用 Object 作为超类。
  • 所有的类都直接或者间接的继承自Object类。

Object类的方法

  • public int hashCode()

    • 返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
    • 不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。
    • 不是对象的实际地址值,可以理解为逻辑地址值。
  • public final Class getClass()

    • 返回此 Object 的运行时类。
    • 可以通过Class类中的一个方法,获取对象的真实类的全名称。
      • public String getName():以 String 的形式返回此 Class 对象所表示的实体
  • public String toString()

    • 返回该对象的字符串表示。
    //底层源码。 
    public static String valueOf(Object obj) { 
        return (obj == null) ? "null" : obj.toString(); 
    }
    

 - 它的值等于:getClass().getName() + ‘@’ + Integer.toHexString(hashCode())
 - 由于默认情况下的数据对我们来说没有意义,一般建议重写该方法。a:手动重写b:自动生成
 - 注意:直接输出一个对象的名称,其实就是调用该对象的toString()方法。

- **public boolean equals(Object obj)**
- 指示其他某个对象是否与此对象“相等”。 (**下面有详细讲解**)
- **protected void finalize()** 
  - 当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。
  - 垃圾回收器不会马上回收垃圾,但是我们可以建议它尽快回收垃圾。(System.gc()方法)
  - 主要针对堆内存。

- **protected Object clone()** 
  - 创建并返回此对象的一个副本,这种克隆机制十分高效,而且二者之间完全隔离。
  - 自定义类实现克隆步骤:
    - 自定义类实现Cloneable接口,这是一个标记性接口,实现这个接口的类的对象可以实现自我克隆。
   - 自定义类中重写Object类的clone()方法。
   - 重写clone()方法时通过super.clone()调用Object类的clone()方法来得到该对象的副本,并返回该副本。

> 这里我们再来详细说一下public boolean equals(Object obj)这个方法

- 这个方法,默认情况下比较的是地址值。比较地址值一般来说意义不大,所以我们要重写该方法。
- 一般都是用来比较对象的成员变量值是否相同。
 那么 **==** 和 **equals**有什么区别呢?
> **==:** 基本类型:比较的就是值是否相同引用类型:比较的就是地址值是否相同**equals:** 引用类型:默认情况下,比较的是地址值。不过,我们可以根据情况自己重写该方法。一般重写都是自动生成,比较对象的成员变量值是否相同(可以看上面代码的举例)




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • (一)Java部分 1、列举出JAVA中6个比较常用的包【天威诚信面试题】 【参考答案】 java.lang;ja...
    独云阅读 7,144评论 0 62
  • java笔记第一天 == 和 equals ==比较的比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量...
    jmychou阅读 1,526评论 0 3
  • Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起。作为其他所有类的基类,Ob...
    时待吾阅读 497评论 0 1
  • 黑夜不说话 夜深人静时爬到我的床沿 它企图淹没我的躯体 覆盖我那疼痛的记忆 黑夜不说话 撕开的伤口慢慢地迸发出鲜血...
    伍月的晴空阅读 436评论 6 6