一、Object类

  1、Object类是所有类的父类,位于java. lang包中,是所有类的根。任何的对象,都可以调用Object类中的方法,包括数组对象。

  2、Object和Object[]之间的区别

   -方法中的形参是Oject类型时,任何类型的参数都可以传进去执行。

   -方法中形参是Oject[]类型时,只有对象数组可以传入执行。

  例:public  static  void  arrayTest(Object[] obj){

    }

    public static  void  main(){

      int [] array = new int [4];

      arrayTest(array)    //出现错误 

    }

  3、Object类的常用方法

    --toString()

 

    格式: public  String  toString(){

       String strName ="所覆写的属性名(字符串)"

                        return  String;

       }

    通常,toString方法会返回一个"以文本方式表示"次对象的字符串.结果是一个简单易懂的信息表达式.

   建议所有子类都重写此方法.

    --equals()

    把equals写入父类中可以实现多个子类的比较

    格式: public  boolean  equals(Object obj){

       String str = this.所定义的属性名 //所有本类中其他的属性属性间用+链接   

       if(n1 == n2){return  true}         

       else {return  false}  

       }

     Object类的equals方法实现对象上差别可能性最大的相等关系;即,对任何非空引用值x和y,当且仅当x和y引用同一个对象时,此方法才返回true(x==y具有值true).

    参数: obj -要与之比较的引用对象

    返回:如果此对象与obj参数相同,则返回true; 否则返回false.

    任何类可以根据实际需要,覆盖toString及equals方法,实现自定义的逻辑.

    --hashCode()

    获取对象的哈希码值,为16进制

    --equals方法与hashCode方法关系

    如果两个对象使用equals比较返回true,那么它们的hashCode值一定要相同;

    如果两个对象equals比较返回false,那么它们的hashCode值不一定不同;

    覆盖equals,往往需要覆盖hashCode,可以使用Eclipse自动生成,保证equals返回true,则hashCode相同;equals返回false,则hashCode不同;

    在Set集合部分有实际应用.

 

posted on 2017-09-21 20:26  K白心  阅读(576)  评论(0)    收藏  举报