默认情况下,object
类是java中所有类的父类。 换句话说,它是java的顶级类。
如果想引用你不知道的类型的对象,使用object
类是没有错的。请注意,父类引用变量可以引用子类对象,称为上转换。
下面举一个例子,有一个getobject()
方法返回一个对象,但它可以是任何类型,如:employee
,student
等这样的类,我们可以使用object
类引用来引用该对象。 例如:
object obj=getobject();//we don't know what object will be returned from this method
object
类为所有对象提供了一些常见的行为,如对象可以进行比较,对象可以克隆,对象可以通知等。
object
类提供了许多方法。 它们如下:
方法 | 描述 |
---|---|
public final class getclass() |
返回此对象的class 类对象。 class 类可以进一步用于获取此类的元数据。 |
public int hashcode() |
返回此对象的哈希码值 |
public boolean equals(object obj) |
将给定对象与此对象进行比较。 |
protected object clone() throws clonenotsupportedexception |
创建并返回此对象的精确副本(克隆)。 |
public string tostring() |
返回此对象的字符串表示形式。 |
public final void notify() |
唤醒单线程,等待此对象的监视器。 |
public final void notifyall() |
唤醒所有线程,等待此对象的监视器。 |
public final void wait(long timeout)throws interruptedexception |
导致当前线程等待指定的毫秒,直到另一个线程通知(调用notify() 或notifyall() 方法)。 |
public final void wait(long timeout,int nanos)throws interruptedexception |
导致当前线程等待指定的毫秒和纳秒,直到另一个线程通知(调用notify() 或notifyall() 方法)。 |
public final void wait()throws interruptedexception |
导致当前线程等待,直到另一个线程通知(调用notify() 或notifyall() 方法)。 |
protected void finalize()throws throwable |
在对象被垃圾收集之前由垃圾收集器调用。 |
我们将在下一章详细学习这些方法。