Object 类是所有类的父类,如果一个类没有使用 extends 关键字明确标识继承另外一个类,那么这个类默认继承 Object 类。
Object 类中的方法,适合所有子类。
1. toString() 方法
在 Object 类里面定义 toString() 方法的时候返回的对象的哈希 code 码(对象地址字符串)。
可以通过重写 toString() 方法表示出对象的属性。
2. equals() 方法
比较的是对象的 引用 是否指向同一块内存地址。
Dog dog = new Dog() //dog 为对象在内存中的地址
一般情况下比较两个对象时比较他的值是否一致,所以要进行重写。
返回值是一个 bool 类型。
Dog dog = new Dog(); Dog dog2 = new Dog(); if( dog == dog2 ){ System.out.println("两个对象是相同的!");} else{ System.out.println("两个对象时不同的!");} } //两个对象,相当于在内存空间开辟了两个内存空间,所以是不一样的!
方法重写
@Override public boolean equals(Object obj){ if(this == obj) return true; if(obj == null) return false; if(getClass != obj.getClass()) //判断两个对象的类型 return false; Dog other = (Dog)obj; //obj 转换为 Dog 类型 if(age != other.age) return false; return true; } // 重写之后便可以判断两个对象是否相同了!
这里 getClass()
说明一下:
obj.getClass() | obj |
---|---|
类对象() | 类的对象 |
姓名 | 阿宝 |
年龄 | 20岁 |
对象有哪些属性,有哪些方法,更关注代码信息 | 对象属性值的信息,或数据信息 |