Java Object类

Oblect类

Object类:类层次结构的根类。每个类都使用 Object 作为超类,每个类都直接或者间接的继承自Object类。

Object类的方法:
     (1)public int hashCode():返回对象的哈希码值。
             注意:Object类的hashcode方法针对不同的对象返回不同的整数,一般是通过将该对象的内部地址转换成一个整数来实现的。
     (2)public final Class getClass():返回此 Object 的运行时类
             Class类的方法public String getName():以 String 的形式返回此 Class 对象所表示的实体
     (3)public String toString():返回该对象的字符串表示。
             如何重写呢?
                   把该类的所有成员变量值组成返回,一般采用自动生成toString()方法。
             注意:直接输出一个对象的名称,其实就是调用该对象的toString()方法。
             源码:

                   public String toString() {

                         return "Student [name=" + name + ", age=" + age + "]";

                   }

     (4)public boolean equals(Object obj):指示其他某个对象是否与此对象“相等”。
             源码:

                    public boolean equals(Object obj) {

                          return (this == obj);

                    }
             这个方法,默认情况下比较的是地址值。一般比较地址值意义不大,所以我们要重写该方法。
             如何重写呢?
                  比较对象的成员变量值是否相同,一般采用自动生成equals()方法。
             ==:
                  基本类型:比较的就是值是否相同
                  引用类型:比较的就是地址值是否相同
             equals:
             引用类型:默认情况下比较的是地址值。我们根据情况自己重写该方法。一般重写都是自动生成,比较对象的成员变量值是否相同。

     (5)protected Object clone():创建并返回此对象的一个副本。
             注意:
                   第1点:如果想对某个对象实现clone操作,该对象的类就要实现Cloneable接口。
                   第2点:protected修饰,我们要在要clone对象所在的类中重写clone()方法
                   Cloneable:此类实现了Cloneable接口,以指示 Object.clone() 方法可以合法地对该类实例进行按字段复制。
                             注意:该接口没有方法,这个接口是标记接口,告诉我们实现该接口的类就可以实现对象的clone了。

原文地址:https://www.cnblogs.com/zfsky/p/5962480.html