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) 等待这个对象另一个更改线程的通知。构造子
Objectpublic Object()
方法
getClasspublic 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!]
相关文章推荐
- object is not an instance of declaring class while invoking public abstract…的解决
- yate学习--yateclass.h--class YATE_API SocketAddr : public GenObject
- yate学习--yateclass.h--class YATE_API RefObject : public GenObject
- yate学习--yatengine.h--class YATE_API MessageReceiver : public GenObject
- VB6:关于“Only public user defined types defined in public object modules can be used as parameters or return types for public procedures of class modules or as fields of public user defined types.”的编译错误
- 异常笔记(2)--object is not an instance of declaring class while invoking public abstract java.lang.Long
- yate学习--yateclass.h--class YATE_API ObjList : public GenObject
- java axis调用cxf 的坑object is not an instance of declaring class while invoking public
- public static T CloneObject<T>(this T obj) where T:class{}
- public static final class R.anim extends Object
- 无法解析的外部符号 "public: virtual struct CRuntimeClass
- 一个包含类(class)和对象(object)的简单程序
- Cannot use object of type stdClass as array
- make sure class name exists, is public, and has an empty constructor that is public
- scala学习7--class、object、trait
- 解决:java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter
- java.lang.UnsupportedClassVersionError: org/json/JSONObject : Unsupported major.minor version 52.0
- get_class_vars与get_object_vars
- python object and class
- 类(class)与对象(object)