Object 类
是所有类的直接或间接父类;
一个类没有使用extends关键字明确标识继承关系,默认继承Object类;
文章目录
1、Object 类被子类常重写的方法
1.1 toString()
- 返回当前对象本身的有关信息,按字符串对象返回;
1.2 equals()
- 比较两对象是否是同一对象,是则返回true;
1.3 hashCode()
-
返回该对象的哈希码值 ;
一般与equals一起用,hash算法算出的一系列值 ,比较对象时
如果对象equals相等,hashcode也相等,是同一对象。
1.4 getClass()
- 获取当前对象所属类的信息,返回Class对象(反射机制);
note:
Object类的equals()方法:
— 操作符 ==
- 默认情况下,equals() 作用和 == 作用是一样的,都是比较是否为同一对象!!
- **简单数据类型,直接比较值。> 1==2 **为false
- 引用类型,比较两者是否为 同一对象;> 这时比较的是地址
- 没有对equals进行重写的类(比如我们自己写的类)就只能从Object类中继承equals方法,此时 equals方法 与 == 就也是等效的,除非我们在此类中重写equals() 。
更多可以参看:
https://www.cnblogs.com/zjc950516/p/7877511.html
2、 重写equals()
我们先看:
// 测试类
public static void main(String[] args) {
Stu s1=new Stu("张",18,50);
Stu s2=new Stu("张",18,50);
// 此时还没重写equals()
// ta与&#