JAVA基础复习十一-Object类

来源:互联网 发布:ipad福利软件 编辑:程序博客网 时间:2024/06/06 01:36

一、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方法比较的是对象中的属性。
原创粉丝点击