JAVA基础复习十一-Object类

一、API概述

* A:API(Application Programming Interface) 
    * 应用程序编程接口
* B:Java API
    * 就是Java提供给我们使用的类,这些类将底层的实现封装了起来,**API就是只JAVA中提供给我们的具体的类**
    * 我们不需要关心这些类是如何实现的,只需要学习这些类如何使用。

二、Object类的概述

* A:Object类概述
    * 类层次结构的根类
    * 所有类都直接或者间接的继承自该类
* B:构造方法
    * public Object()
    * 子类的构造方法默认访问的是父类的无参构造方法,若没有特意指明,就是访问Object类的无参构造。

三、Object类的方法

1.hasCode()
    * public int hashCode()
        * a:返回该对象的哈希码值。默认情况下,该方法会根据对象的地址来计算。
        * b:不同对象的,hashCode()一般来说不会相同。但是,同一个对象的hashCode()值肯定相同。

2.getClass()
    * public final Class getClass()
        * a:返回此 Object 的运行时类。
        * b:可以通过Class类中的一个方法,获取对象的真实类的全名称。public String getName()
    **getClass()方法返回的是该类的字节码文件对象,Class类也是一个类,是描述类的类。就好像Person类是描述人一样。
    Class clazz = person.getClass();
    上面的方法就是获取person这个类的字节码文件对象,Class类中可以描述类的属性和行为,有相应的变量及方法。上述具体来说clazz对象就是描述Person类这个类的属性和行为的对象。
    比如可以通过clazz.getName()这个方法获取得到这个字节码文件的对象的类的名称等等。**

3.Object类的toString()方法
    返回的是调用者的地址值,一般来说无意义,所以我们需要用到的类,可以重写这个方法,获取我们想看到的属性。

4.Object类的equals()方法
    Object中的equals方法内部也是用==号来进行比较的,比较的是this == obj,调用对象和比较对象的地址值,一般来说无意义,所以我们用到的时候一般要对该方法进行重写。

四、==号和equals的区别

* ==是一个比较运算符号,既可以比较基本数据类型,也可以比较引用数据类型,基本数据类型比较的是值,引用数据类型比较的是地址值,所以一般直接用来比较基本数据类型,因为直接用==号来比较引用数据类型比较的是地址值,无意义。

* equals方法是一个方法,只能由对象来调用,所以无法比较基本数据类型,只能比较引用数据类型。所有的对象都会继承Object类中的方法,如果没有重写Object类中的equals方法,equals方法和==号比较引用数据类型无区别,重写后的equals方法比较的是对象中的属性。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值