- Object类是所有Java类的根基类
- 如果在声明中未使用extends关键字指明其基类,则默认基类为Object类
一、toString类型
- Object类中定义有 public String toString() 方法,其返回值是String类型,描述当前对象的有关信息
- 在进行String与其他类型数据的连接操作时(eg:System.out.println("info"+person)),将自动调用该对象类的toString()方法
- 可以根据需要在用户自定义类型中重写toString()方法
- Object类中的toString() 方法返回的是图片所示的String内容:类名+@+hash编码
- 建议在类中都重写toString() 方法
二、哈希编码
在Java虚拟机中,哈希编码用来标识变量在内存中的位置。
三、equals() 方法
public boolean equals(Object obj)
- 两个比较的对象都不能是空值
- 对象本身equals本身,传递性,对称性,任何对象都不equals空值
- 只有当两个对象都指向同一个内存时才会equals
- 建议在类中都重写equals() 方法
- jdk提供的一些类,如String,Data等,重写了Object的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一个类并且属性内容相同(并不一定是相同对象),返回true,否则是false。“==”操作符要求必须是相同对象
重写Cat类中的equals() 方法,重写:重写方法必须和 被重写方法 具有相同的方法名称、参数列表和返回类型