Object类

Java定义了一个名为Object的特殊类,他是所有类的隐式超类.换言之,其他所有类都是Object的子类.这就意味着Object类型的引用变量可以引用任何类的对象.而且,因为数组是作为类来实现的,所以Object类型的变量也可以引用任何数组.
Object类定义了下列方法,这就意味着在每一个对象中都可以使用这些方法:
方法
目的
Object clone()
创建一个新的对象,他与被克隆对象一模一样
boolean equals(Object object)
确定两个对象是否相等
void finalize()
在未使用的对象被回收之前调用
Class<?>getClass()
在运行时获取对象的类
int hashCode()
返回与调用对象相关的哈希代码
void notify()
继续执行等待调用对象的线程
void notifyAll()
继续执行等待调用对象的所有线程
String toString()
返回描述对象的字符串
void wait()
void wait(long millisecound)
void wait(long millisecound,int nanoseconds)
等待另一个线程执行
getClass(),notify(),notifyAll()和wait()方法被声明为final.其他方法则可以重写.现在我们注意两个方法:equals()和toString(),equals()方法比较两个对象的内容,如果对象相等,则返回true,否则返回false.toString()方法返回一个字符串,该字符串描述了调用他的对象,而且当使用println()输出对象时将自动调用该方法.许多类都重写该方法,这样可使他们对自己创建的对象类型进行适当的描述.
最后要注意getClass()的返回类型使用了特殊的语法,这设计Java的泛型特性.泛型允许将类或方法使用的数据的类型执行为形参.