Object类是所有类的超类,也就是说,Java中的每一个类都是由Object扩展而来的.因而每当你创建一个对象,它都将拥有Object类中的全部方法.让我们先来看看java.lang.Object的中的主要方法有哪些:
public class Object{
//公共构造函数
public Object();
//公共实例方法
public boolean equals(Object obj);
public native int hashCode();
public final native Class getClass();
public String toString();
public final native void notify();
public final native void notifyAll();
public final void wait() throws InterruptedException;
public final native void wait(long timeout) throws InterruptedException;
public final void wait(long timeout, int nanos) throws InterruptedException;
//保护实例方法
protected native Object clone();
protected void finalize() throws Throwable;
}
方法equals测试的是两个对象是否相等,
方法clone进行对象拷贝,
方法getClass返回和当前对象相关的Class对象,
方法notify,notifyall,wait都是用来对给定对象进行线程同步的.
然而Object类所提供的只是一些基本的方法,我们在编写自己的类时经常需要覆盖这些方法,一方面是加强功能,另一方面也是为了适应当前的情况.