您的位置:首页 > 移动开发 > Objective-C

public class Object

2007-06-30 09:43 288 查看

类 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) 等待这个对象另一个更改线程的通知。

构造子

Object
public Object()


方法

getClass
public final native Class getClass()

返回一个对象的运行时间类。

返回值: 对象类型为
Class
, 它表示该对象的运行时间类。 hashCode
public native int hashCode()

返回该对象的散列码值。 该方法支持散列表的优点,如
java.util.Hashtable
提供的散列表。
hashCode
的一般合同是:

不管一个 Java 应用程序调用它多少次,
hashCode
方法始终返回同一个整数。 当同一应用程序从一个执行转到另一个执行时,该整数不必保持一致。

如果两个对象按照
equals
方法相等, 那么每个对象调入
hashCode
方法必须产生相同的整数结果。

返回值: 该对象的散列值。 参见: equals, Hashtable equals
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


参数: obj - 比较的参考对象。 返回值: 如果该对象与 obj 变元相同则为 true;否则为 false。 参见: hashCode, Hashtable clone
protected native Object clone() throws CloneNotSupportedException

创建与该对象的类相同的新对象。 然后初始化新建对象域,对应域指定为相同的值。 没有调用构造子。
当一个对象指示愿意复制它的实例时,
 Object
类的
clone
方法才复制该对象。 当一个类声明它实现
cloneable
接口时,能复制它的实例。

返回值: 该实例的复制。 抛出: CloneNotSupportedException 如果该对象类不支持
cloneable
接口。覆盖了
clone
方法的子类可能抛出此异常,表示不能复制实例。 抛出: OutOfMemoryError 如果没有足够内存。 参见: Cloneable toString
public String toString()

返回该对象的字符串表示。
toString
方法一般返回一个用文本表示这个对象的字符串。 给出的结果是简短明了的表示,这样便于人们读取。 建议任何子类都覆盖这个方法。
Object
toString
方法返回一个字符串、有符号 `
@
' 字符和该对象的无符号十六进制散列码表示,这里的字符串包括实例对象的类名。

返回值: 该对象的字符串表示。 notify
public final native void notify()

激活等待在该对象的监视器上的一个线程。 线程通过调用
wait
方法等候在某个对象的监视器中。
只有该对象监视器的拥有者线程才能调用这个方法。 在下列三种情况下,一个线程变为该对象监视器的所有者:

同步执行该对象的实例方法。

执行与该对象的
synchronized
语句体对该对象进行同步。

对类型为
Class,
的对象执行该类的同步静态方法。

一次只能有一个线程拥有对象的监视器。

抛出: IllegalMonitorStateException 若当前线程不是这个对象监视器的所有者。 参见: notifyAll, wait notifyAll
public final native void notifyAll()

激活等待在该对象的监视器上的全部线程。 线程通过调用
wait
方法等候在某个对象的监视器中。
只有该对象监视器的拥有者线程才能调用这个方法。 参见
notify
方法,那里有线程如何成为监视器所有者的说明。

抛出: IllegalMonitorStateException 若当前线程不是这个对象监视器的所有者。 参见: notify, wait wait
public final native void wait(long timeout) throws InterruptedException

等待该对象另一更改线程的通知。
当前线程必须拥有该对象的监视器。线程释放对该监视器的所有权,一直等到以下两个条件之一发生:

通过调用
notify
方法或
notifyAll
方法激活,另一个线程通知等候在该对象监视器上的线程。

毫秒表示的
timeout
参数指定的超时时间已用完。

该线程将等到重新获得对监视器的所有权后才能继续执行。

只有该对象监视器的所有者线程才能调用该方法。 参见
notify
方法,那里有线程如何拥有监视器的方法说明。

参数: timeout- 用毫秒计算的超时。 抛出: IllegalArgumentException 如果超时值为负。 抛出: IllegalMonitorStateException 若当前线程不是这个对象监视器的所有者。 抛出: InterruptedException 如果另一个线程已中断了该线程。 参见: notify, notifyAll wait
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 如果另一个线程已中断了该线程。 wait
public final void wait() throws InterruptedException

等待该对象另一个更改线程的通知。
当前线程必须拥有该对象的监视器。通过调用
notify
方法或
notifyAll
方法激活,该线程释放这个监视器的所有权并等待,直到另一个线程通知激活等候在这个对象监视器上的线程。 该线程将等到重新获得对监视器的所有权后才能继续执行。

只有该对象监视器的拥有者线程才能调用这个方法。 参见
notify
方法,那里有线程如何拥有监视器的方法说明。

抛出: IllegalMonitorStateException 若当前线程不是这个对象监视器的所有者。 抛出: InterruptedException 如果另一个线程已中断了该线程。 参见: notify, notifyAll finalize
protected void finalize() throws Throwable

当垃圾回收器确定不存在对该对象的更多引用时,对象的垃圾回收器调用该方法。 子类覆盖
finalize
方法,以配置系统资源进行其它清除。
finalize
方法抛出的任何异常导致暂停对象终止,但被其它对象忽略。

Object
中的
finialize
方法不执行任何操作。

抛出: Throwable [Need description!]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: