java API之Object类

1.java.lang.Object类是所有其它java类的根父类。即:所有的其他类都直接或间接的继承于Object类

2.当一个类没有显式的声明一个父类时,那么其直接父类就是java.lang.Object

3.Object类中定义的方法可以被子类所继承,那么意味着Object类中定义的方法具有一定的通用性。

 我们在这里重点讨论两个方法。

1).equals(Object obj):

     1.只能通过引用类型的变量来调用

    2.当我们调用一个对象的equals()方法时,如果此方法调用的是java.lang.Object类的equals()方法的话,仍然比较的是两个对象的引用地址是否相同。

                    如下为java.lang.Object类中的源码:

                         public boolean equals(Object obj) {

                                return (this == obj);

                        }

    3.像String,File,包装类,Date类都重写了java.lang.Object中的equals()方法,比较两个对象"实体内容"是否相等。

    4.对于自定义类,可以重写java.lang.Object类中的equals()方法,比较两个对象的属性是否完全相等。

        自定义的:重写equals()方法

        比较两个对象(this,obj)的各个属性是否都相等,若都相等,返回true。

java API之Object类_第1张图片
重写equals()

2)toString():

    1.当我们打印一个对象的引用时,实际上就是调用这个对象的toString()

     2.当我们没有重写java.lang.Object类中的toString()方法时,返回就是当前对象的所在类及其在内存中的地址值。

     如下为java.lang.Object类中的toString()的源码:

            public String toString() {

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

                }

     3.像String,File,Date,包装类等类已经重写了java.lang.Object类中的toString(), 返回对象的属性信息。

    4.对于自定义类,我们也可以重写java.lang.Object类中的toString(),返回对象的属性信息

你可能感兴趣的:(java API之Object类)