Object类下 方法简介(toString、equals、hasCode、getClass...)
1.tostring方法
1. Object类 的 toString方法 返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。换句话说,该方法返回一个字符串,它的值等于:getClass().getName() + '@' + Integer.toHexString(hashCode())
例如:(我们一般认为输出的是地址)
2. 但我们在使用Arrays.toString(arr);,却输出了数组的内容,返回指定数组内容的字符串表示形式。
这是因为 Arrays类 重写了 父类Object 的 toString方法!(字符串表示形式由数组的元素列表组成,括在方括号("[]")中。相邻元素用字符 ", "(逗号加空格)分隔。这些元素通过 String.valueOf(int) 转换为字符串。如果 arr 为 null,则返回 "null"。)
3. 而我们也可以重写 父类Object 的 toString 方法,例如在 Student类 中重写 toString方法。
4,优先调用子类的重写方法
2.equals方法
指示其他某个对象是否与此对象“相等”,注意比较的其实是内存地址!(是指该引用变量所指向的内容的地址,并不是该引用变量自己的地址!!! == 而它比较的就和equals一样,比较的是该变量所指向的内容的地址!!!)(其实也就是比较该变量的内容。只不过引用数据类型的变量,它的内容是堆空间的一块地址。而基本数据类型的变量,它的内容是值!)(Object类中的equals方法内部使用的就是==比较运算符)
详见https://blog.****.net/krismile__qh/article/details/88764094 \\String两种实例化区别
Studen类:
3.hascode方法
返回该对象的哈希码值
4.getClass方法
返回此 Object
的运行时类