您的位置:首页 > 移动开发 > Objective-C

Object类及其方法介绍

2017-06-08 23:20 267 查看
1..java.lang.Object类的使用说明:

   1.Object作为所有其它java类父类出现。

   2.只有一个空参的构造器:Object()

   3.创建任何一个类的对象时,都会直接或间接的加载Object类结构。进而创建的对象

     就可以调用Object类中声明的结构。
2.关于类中常用方法的使用说明:

    equals():
如果需要重写的话,将类的所有属性参与到equals()的比较中,判断两个对象的所有属性是否都相同。 

  1.在java.lang.Object类中equals()定义如下:  

 *   public boolean equals(Object obj) {

        return (this == obj);

     }
 *   比较的是两个对象在堆空间中的引用的地址是否相同。
 *   
 * 2.像String、包装类、File类、Date类等重写了Object类中的equals()方法,
 *   比较的是两个对象的"内容"是否是相等的。
 * 
 * 3.对于自定义类而言,如果没有重写Object类中的equals()方法,仍然比较的是两个引用地址是否相同。
 *   但是一般情况,凡是我们调用equals()的时候,都比较的不是地址,那就意味着我们需要重写equals()
 *   方法。重写的规则:比较两个对象的属性是否都相等。
toString():返回当前对象的所有属性信息。

 * 1.当我们打印一个对象的引用时,实际上默认调用的就是当前对象的toString()
 *
 *  2.当我们没重写Object类中的toString()方法时,调用的就是Object中定义的:

     public String toString() {

        return this.getClass().getName() + "@" + Integer.toHexString(hashCode());

      }
  返回当前对象的地址值
 *  
 *  3.像String、File、包装类、Date类重写了Object类中的toString(),返回当前对象的具体内容。 
 *  4.对于用户自定义类的对象而言,如果所在类没有重写Object中的toString(),则返回的是当前对象
 *  的地址值。但是通常情况下,我们都重写toString(),返回当前对象的"内容":属性。

3.面试题:

[面试题] == 和 equals()区别?

 == :

 *         ①是一个运算符,可以操作基本数据类型和引用数据类型

 *         ② 如果左右两边比较的是基本数据类型的变量,比较数值是否相等。

 *         ③ 如果左右两边比较的是引用数据类型的变量,比较两个引用的地址值是否相等(或:比较两个引用是否指向堆空间中的同一个对象)
equals():  

         ①在开发中,当我们调用equals()方法,如果方法的调用者所属的类,没有重写equals()方法,则默认调用的是父类的equals(),通常此时的父类就是Object类。则此equals()比较的仍然是两个对象是否指向同一个对象(引用地址值是否相等)。②如果重写了equals(),则通常是比较两个对象的所有属性值是否都相同。

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: