类 java.lang.Object
java.lang.Object
-
public class
Object
Object 类是类层次的根类。 每个类都把 Object 作为一个父类。 包含数组在内的全部对象均实现这个类的方法。
-
来自:
- JDK1.0 参见:
- Class
构造子索引
-
Object()
方法索引
-
clone()
- 创建与该对象的类相同的新对象。 equals(Object)
- 比较两对象是否相等。 finalize()
- 当垃圾回收器确定不存在对该对象的更多引用时,对象的垃圾回收器调用该方法。 getClass()
- 返回一个对象的运行时间类。 hashCode()
- 返回该对象的散列码值。 notify()
- 激活等待在该对象的监视器上的一个线程。 notifyAll()
- 激活等待在该对象的监视器上的全部线程。 toString()
- 返回该对象的字符串表示。 wait()
- 等待这个对象另一个更改线程的通知。 wait(long)
- 等待这个对象另一个更改线程的通知。 wait(long, int)
- 等待这个对象另一个更改线程的通知。
构造子
Objectpublic Object()
方法
getClasspublic final native Class getClass()
-
返回一个对象的运行时间类。
-
-
返回值:
-
对象类型为
Class, 它表示该对象的运行时间类。
-
对象类型为
public native int hashCode()
-
返回该对象的散列码值。 该方法支持散列表的优点,如
java.util.Hashtable提供的散列表。hashCode的一般合同是:- 不管一个 Java 应用程序调用它多少次,
hashCode方法始终返回同一个整数。 当同一应用程序从一个执行转到另一个执行时,该整数不必保持一致。 - 如果两个对象按照
equals方法相等, 那么每个对象调入hashCode方法必须产生相同的整数结果。
- 不管一个 Java 应用程序调用它多少次,
public boolean equals(Object obj)
-
比较两对象是否相等。
equals方法实现一个等价关系:- 自反性 : 对任何参考值
x,x.equals(x)应返回true。 - 对称性 : 对任何参考值
x和y,x.equals(y)应返回true当且仅当y.equals(x)返回true。 - 传递性 : 对任何参考值
x、y和z,如果x.equals(y)返回true并且y.equals(z)返回true, 那么x.equals(z)应返回true。 - 一致性 :对任何参考值
x和y, 多次调用x.equals(y)始终返回true或始终返回false。 - 对任何参考值
x,x.equals(null)应返回false。
Object类的相同方法可以实现对象间的最容易识别的可能等价关系。也就是说,对任何参考值x和y, 当且仅当x和y指向同一个对象(x==y的值为true)时, 该方法返回true。 - 自反性 : 对任何参考值
protected native Object clone() throws CloneNotSupportedException
-
创建与该对象的类相同的新对象。 然后初始化新建对象域,对应域指定为相同的值。 没有调用构造子。
当一个对象指示愿意复制它的实例时,
Object类的clone方法才复制该对象。 当一个类声明它实现cloneable接口时,能复制它的实例。 -
-
返回值:
- 该实例的复制。 抛出: CloneNotSupportedException
-
如果该对象类不支持
cloneable接口。覆盖了clone方法的子类可能抛出此异常,表示不能复制实例。
抛出:
OutOfMemoryError
- 如果没有足够内存。 参见:
- Cloneable
public String toString()
-
返回该对象的字符串表示。
toString方法一般返回一个用文本表示这个对象的字符串。 给出的结果是简短明了的表示,这样便于人们读取。 建议任何子类都覆盖这个方法。类
Object的toString方法返回一个字符串、有符号 `@' 字符和该对象的无符号十六进制散列码表示,这里的字符串包括实例对象的类名。 -
-
返回值:
- 该对象的字符串表示。
public final native void notify()
-
激活等待在该对象的监视器上的一个线程。 线程通过调用
wait方法等候在某个对象的监视器中。只有该对象监视器的拥有者线程才能调用这个方法。 在下列三种情况下,一个线程变为该对象监视器的所有者:
- 同步执行该对象的实例方法。
- 执行与该对象的
synchronized语句体对该对象进行同步。 - 对类型为
Class,的对象执行该类的同步静态方法。
一次只能有一个线程拥有对象的监视器。
-
-
抛出:
IllegalMonitorStateException
- 若当前线程不是这个对象监视器的所有者。 参见:
- notifyAll, wait
public final native void notifyAll()
-
激活等待在该对象的监视器上的全部线程。 线程通过调用
wait方法等候在某个对象的监视器中。只有该对象监视器的拥有者线程才能调用这个方法。 参见
notify方法,那里有线程如何成为监视器所有者的说明。 -
-
抛出:
IllegalMonitorStateException
- 若当前线程不是这个对象监视器的所有者。 参见:
- notify, wait
public final native void wait(long timeout) throws InterruptedException
-
等待该对象另一更改线程的通知。
当前线程必须拥有该对象的监视器。线程释放对该监视器的所有权,一直等到以下两个条件之一发生:
- 通过调用
notify方法或notifyAll方法激活,另一个线程通知等候在该对象监视器上的线程。 - 毫秒表示的
timeout参数指定的超时时间已用完。
该线程将等到重新获得对监视器的所有权后才能继续执行。
只有该对象监视器的所有者线程才能调用该方法。 参见
notify方法,那里有线程如何拥有监视器的方法说明。 - 通过调用
-
-
参数:
- timeout - 用毫秒计算的超时。 抛出: IllegalArgumentException
- 如果超时值为负。 抛出: IllegalMonitorStateException
- 若当前线程不是这个对象监视器的所有者。 抛出: InterruptedException
- 如果另一个线程已中断了该线程。 参见:
- notify, notifyAll
public final void wait(long timeout,
int nanos) throws InterruptedException
-
等待该对象另一个更改线程的通知。
该方法类似于一个参数的
wait方法,但它允许在放弃之前对同级件待时间量进行更细致的控制。当前线程必须占有这个对象的监视器。线程释放对这个监视器的所有权,一直等到以下两个条件之一发生:
- 通过调用
notify方法或notifyAll方法激活,另一个线程通知等候在这个对象监视器上的线程。 timeout毫秒值与nonos参数值之和指定的超时时间已用完。
该线程将等到重新获得对监视器的所有权后才能继续执行。
只有该对象监视器的拥有者线程才能调用这个方法。 参见
notify方法,那里有线程如何占有监视器的方法说明。 - 通过调用
-
-
参数:
- timeout - 用毫秒计算的超时。
- nano - 附加时间,纳秒范围为 0-999999。 抛出: IllegalArgumentException
- 若超时值为负或 nanos 的值不在范围0-999999中。 抛出: IllegalMonitorStateException
- 若当前线程不是这个对象监视器的所有者。 抛出: InterruptedException
- 如果另一个线程已中断了该线程。
public final void wait() throws InterruptedException
-
等待该对象另一个更改线程的通知。
当前线程必须拥有该对象的监视器。通过调用
notify方法或notifyAll方法激活,该线程释放这个监视器的所有权并等待,直到另一个线程通知激活等候在这个对象监视器上的线程。 该线程将等到重新获得对监视器的所有权后才能继续执行。只有该对象监视器的拥有者线程才能调用这个方法。 参见
notify方法,那里有线程如何拥有监视器的方法说明。 -
-
抛出:
IllegalMonitorStateException
- 若当前线程不是这个对象监视器的所有者。 抛出: InterruptedException
- 如果另一个线程已中断了该线程。 参见:
- notify, notifyAll
protected void finalize() throws Throwable
-
当垃圾回收器确定不存在对该对象的更多引用时,对象的垃圾回收器调用该方法。 子类覆盖
finalize方法,以配置系统资源进行其它清除。finalize方法抛出的任何异常导致暂停对象终止,但被其它对象忽略。Object中的finialize方法不执行任何操作。 -
-
抛出:
Throwable
- [Need description!]
本文详细介绍了Java中的Object类,作为所有类的基类,Object提供了关键的方法如equals、hashCode、toString等,这些方法对于对象之间的比较及对象状态的查看至关重要。

7516

被折叠的 条评论
为什么被折叠?



