1.Object类的作用和地位:

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

Object类的常用方法:

 toString();

 equals();

 hashCode();

ObjectObject[]之间的区别。

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

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

2.toString方法

toString方法可以将任何一个对象转换成。字符串返回,返回值的生成算法为:getClass().getName() + '@' + Integer.toHexString(hashCode())

例如:

public class Student {

    private String name = "123";// 学生姓名

    private int age;// 年龄

    public String getName() {

       return name;

    }

   public void setName(String name) {

    this.name = name;

    }

   public int getAge() {

      return age;

    }

    public void setAge(int age) {

       this.age = age;

    }

   //重写toString方法

public String toString(){

  returnStudent:+name=+name+,age=+age;

   }

}

打印对象时直接调用类的toString方法:

  public static void main(){

    Student stu1=new Student();

    stu1.setName("张三");

    stu1.setAge(23);

    System.out.println(stu1);

    System.out.println(stu1);

  }

  打印: Student@152b6651;  

类本身重写toString方法:

   重写Student类的toString方法后

  public static void main(){

    Student stu1=new Student();

    stu1.setName("张三");

    stu1.setAge(23);

    System.out.println(stu1);

}

打印: Student: name=张三,age=23;

3.equals方法:

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

equals方法

   比较对象的虚地址,但是可以在类中被重写。

   :String类重写了,两个相同值的String对象相比较为   true;

    String str=new String(123);

    String str1=new String(123);

    System.out.println(str.equals(str1));à打印为true.

③“==

    比较的是内存中的虚地址

     String str=new String(123);

     String str1=new String(123);

     System.out.println(str==str1);à打印为false

4.hashCode方法:获取对象的哈希码值,为16进制。

5.equals方法与hashCode方法关系:

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

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

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

④在Set集合部分有实际应用。