Object类下 方法简介(toString、equals、hasCode、getClass...)

1.tostring方法

1. Object类 的 toString方法 返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + '@' + Integer.toHexString(hashCode())

例如:(我们一般认为输出的是地址)

Object类下 方法简介(toString、equals、hasCode、getClass...)

2. 但我们在使用Arrays.toString(arr);,却输出了数组的内容,返回指定数组内容的字符串表示形式。

Object类下 方法简介(toString、equals、hasCode、getClass...)

这是因为 Arrays类 重写了 父类Object 的 toString方法!(字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(int) 转换为字符串。如果 arr 为 null,则返回 "null"。)

3. 而我们也可以重写 父类Object 的 toString 方法,例如在 Student类 中重写 toString方法。

Object类下 方法简介(toString、equals、hasCode、getClass...)

Object类下 方法简介(toString、equals、hasCode、getClass...)

4,优先调用子类的重写方法

Object类下 方法简介(toString、equals、hasCode、getClass...)

2.equals方法

指示其他某个对象是否与此对象“相等”,注意比较的其实是内存地址!(是指该引用变量所指向的内容的地址,并不是该引用变量自己的地址!!! == 而它比较的就和equals一样,比较的是该变量所指向的内容的地址!!!)(其实也就是比较该变量的内容。只不过引用数据类型的变量,它的内容是堆空间的一块地址。而基本数据类型的变量,它的内容是值!)(Object类中的equals方法内部使用的就是==比较运算符)

Object类下 方法简介(toString、equals、hasCode、getClass...)

 详见https://blog.csdn.net/krismile__qh/article/details/88764094    \\String两种实例化区别

Object类下 方法简介(toString、equals、hasCode、getClass...)

Studen类:

Object类下 方法简介(toString、equals、hasCode、getClass...)

Object类下 方法简介(toString、equals、hasCode、getClass...)

3.hascode方法

返回该对象的哈希码值

Object类下 方法简介(toString、equals、hasCode、getClass...)

4.getClass方法

返回此 Object 的运行时类

Object类下 方法简介(toString、equals、hasCode、getClass...)