Java中的Object类

来源:互联网 发布:java微信支付开发教程 编辑:程序博客网 时间:2024/04/25 11:40

1、java.lang.Object

  java.lang包在使用的时候无需显示导入,编译时由编译器自动导入。

  Object类是类层次结构的根,Java中所有的类从根本上都继承自这个类。

  Object类是Java中唯一没有父类的类,java.lang.Object类是所有类的根类。

        Object类仅有一个空参的构造器 public Object(){}

  其他所有的类,包括标准容器类,比如数组,都继承了Object类中的方法。

2、Object类中的方法

      (1) 构造方法:public Object()

      (2) boolean equals(Object obj)

        “==”运算符判断两个引用是否指向同一个对象。

   对于Object类的equals()方法来说,它判断调用equals()方法的引用于传进来的引用是否一致,即这两个引用是否指向的是同一个对象。

  Object类中的equals()方法如下:

        public boolean equals(Object obj) {
             return (this == obj);
           }

        即Object类中的equals()方法等价于==。只有当继承Object的类重写(override)了equals()方法之后,继承类实现了用equals()方法比较   两个对象是否相等,才可以说equals()方法与==的不同。

      a、==
              1、基本数据类型,根据基本数据类型的值判断是否相等,相等返回true,反之返回false

                注:两端数据类型可以不同,在不同的情况下,也可以返回true。

              2、引用数据类型:比较引用类型变量的地址是否相等

     b、equals()
             1、只能处理引用类型变量
             2、在Object类,发现equals()任然比较的是两个引用变量的地址值是否相等
             3、像String包装类、File类、Date类这些重写Object类的equals()方法,比较的是两个对象的“实体内容”是否完全相同
             4、若自定义一个类,希望比较两个对象的属性值都相同的情况下返回true的话,就需要重写Object类的equals(Object obj)方法

      (3)String toString()

  当打印引用,如调用System.out.println()时,会自动调用对象的toString()方法,打印出引用所指的对象的toString()方法的返回值,因为每个类都直接或间接地继承自Object,因此每个类都有toString()方法。

  Object类中的toString()方法定义如下:

        public String toString() {
               return getClass().getName() + "@" + Integer.toHexString(hashCode());
           }

       当没有重写Object类的toString()方法时,打印的就是对象所在的类,以及对象实体在堆空间的位置;一般需要重写Object类的toString()方法,将此对象的各个属性值返

回像String类、Date类、File类、包装类都重写了toString()方法


0 0
原创粉丝点击