Java 面向对象编程:Object 类、对象克隆与类扩展
1. Object 类概述
Object 类是类层次结构的根。每个类都直接或间接地继承自 Object 类,因此一个 Object 类型的变量可以引用任何对象,无论是类实例还是数组。例如,Attr 类可以持有任何类型的属性,所以它的 value 字段被声明为 Object 类型。不过,这样的类不能直接持有基本类型,而是可以持有相关包装类的引用。
1.1 Object 类的方法
Object 类定义了许多被所有对象继承的方法,这些方法可分为两类:通用实用方法和支持线程的方法。这里主要介绍通用实用方法:
| 方法名 | 描述 |
| — | — |
| public boolean equals(Object obj)
| 比较接收对象和 obj 引用的对象是否相等,如果值相同则返回 true,否则返回 false。默认实现是通过 this == obj
来判断对象是否等于自身。 |
| public int hashCode()
| 返回该对象的哈希码。每个对象都有一个用于哈希表的哈希码,默认实现通常为不同对象返回不同的值。 |
| protected Object clone() throws CloneNotSupportedException
| 返回该对象的一个克隆。克隆是一个新对象,其初始状态是调用 clone 方法的对象的当前状态的副本。 |
| public final Class<?> getClas