6/29作业:Object类

来源:互联网 发布:画画的软件 编辑:程序博客网 时间:2024/06/10 00:07

Object

1.Object类是所有类的父类,位于java.lang包中

数组也是Object类的子类

Object类的常用方法

 toString();

 equals();

 hashCode();

……

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

:

 

    public class Example{

      public void f(Object obj){

      }    

    }

    public class Test{

      public static void main(){

         Example exam=new Example();

         int[] array=new int[4];

         ……//任何数组

         exam.f(array);

    }

    }

ObjectObject[]之间的区别

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

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

 

 

2.Object类中的常用方法

toString方法;

   toString方法可以将任何一个对象转换成

   字符串返回,返回值的生成算法为:getClass().getName() + '@' + Integer.toHexString(hashCode())

equals方法;

   Object类中的equals方法,用来比较两个引用的虚地址。当且仅当两个引用在物理上是同一个对象时,返回值为true,否则将返回false

 

任何类可以根据实际需要,覆盖toStringequals方法,实现自定义的逻辑。

hashCode方法

hashCode方法

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

equals方法与hashCode方法关系

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

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

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

Set集合部分有实际应用

 

原创粉丝点击