常用类-Object类

一、Object类简介

1.Object 类:位于 java.lang 包中的类(java.lang包中的内容自动导入);

2.Object 是每个类的父类,直接父类或者是间接的父类;

3.Object 类型的引用可以存储任意类型的对象;

4.Ovject 类中的方法是每个类都默认的功能方法。

二、常用方法

1. getclass():被 final 修饰,允许子类继承,不允许覆盖

  a.作用:获取引用中实际存储的对象类型。

  b.实际开发应用:通常用于判断两个引用中存储的实际对象类型是否一致,

    一致-true;不一致-false

  c.案例:

常用类-Object类_第1张图片

   d. instanceof:引用名 instanceof 类型,用于判断前面引用中存储的实际对象类型是否为后面类型的一种。

2.int hashCode():没有被 final 修饰,允许覆盖

        a. 作用:返回对象的哈希码值。

        b. Object  类中 hashCode 获取的哈希码值:将对象在内存中十六进制的地址转换为十进制的结果。

        c. 注意:由于不同对象在内存中地址不同,所以不同的对象会有不同的哈希码值。

3. String toString():没有被 final 修饰,允许覆盖

        a.作用:返回对象的字符串表现形式。

        b.实际开发:实际开发中通常需要覆盖 toString 方法,将所有的属性值拼接为一个字符串类型

的结果作为返回值进行返回。

        c.案例

常用类-Object类_第2张图片

         d.   注意区分 toString 方法和 get 方法

                toString 方法:为了方便开发人员做对象信息展示,将所有的属性值拼接为一个字符串类

型的结果作为返回值进行返回。

                get 方法:获取单个属性值,而且不改变属性的数据类型。

4.boolean equals(Object obj):没有被 final 修饰,允许覆盖

        a.作用:判断两个对象的内容是否相同,相同- true;不相同-false

        b.== 的应用:

             I. 如果==两端是基本数据类型,比较数值是否相等

             II. 如果==两端是引用类型,比较引用中存储的地址是否相同

        c.== 在实际开发中作用:通常利用==判断两个引用是否指向同一个对象,true代表存储同一

个对象,false代表存储不同的对象。

        d.Object 类中提供的 equals 方法的源码如下:

常用类-Object类_第3张图片

结论:Object 类中 equals 比较对象的地址,如果想比较对象的内容是否相等,需要覆盖 equals 方法

        e . equals 方法覆盖的步骤:

常用类-Object类_第4张图片

 5. void finalize():没有被 final 修饰,允许覆盖 [ 性能调优 ]

        a. 作用:垃圾回收器进行回收垃圾对象时,jvm 自动调用方法

        b. 垃圾对象:如果没有任何引用指向的对象。

                new Student();

        c. 垃圾回收器:简称 GC/gc,jvm用于回收垃圾对象。

        d. 回收垃圾对象的目的:清除垃圾对象,提高空间的利用率。

        e. 垃圾回收器回收垃圾对象的时机:

                I. 自动回收机制:当 jvm 内存被占用满时,jvm 启动 gc 对垃圾对象进行清理回收,gc在

进行垃圾对象回收时,jvm 自动调用 finalize 方法。

                II. 手动回收机制:利用 System.gc() 通知垃圾回收器进行回收垃圾对象,如果 GC 空闲-进行垃圾回收;如果 GC 繁忙-暂不回收。

 

 


 

 

 

 

 

 

 

 

你可能感兴趣的:(java,java)