    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class java.lang.Object

    java.lang.Object

public class Object

Class `Object` is the root of the class hierarchy. Every class has `Object` as a superclass. All objects, including arrays, implement the methods of this class.

See Also:
  Class

##

Object()

##

clone()
  Creates a new object of the same class as this object.
equals(Object)
  Compares two Objects for equality.
finalize()
  Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
getClass()
  Returns the runtime class of an object.
hashCode()
  Returns a hash code value for the object.
notify()
  Wakes up a single thread that is waiting on this object's monitor.
notifyAll()
  Wakes up all threads that are waiting on this object's monitor.
toString()
  Returns a string representation of the object.
wait()
  Waits to be notified by another thread of a change in this object.
wait(long)
  Waits to be notified by another thread of a change in this object.
wait(long, int)
  Waits to be notified by another thread of a change in this object.

##

Object

     public Object()

##

getClass

     public final native Class getClass()

  Returns the runtime class of an object.

  Returns:
    the object of type `Class` that represents the runtime class of the object.

hashCode

     public native int hashCode()

  Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by `java.util.Hashtable`.

  The general contract of `hashCode` is:

  - Whenever it is invoked on the same object more than once during an execution of a Java application, the `hashCode` method must consistently return the same integer. This integer need not remain consistent from one execution of an application to another execution of the same application.
  - If two objects are equal according to the `equals` method, then calling the `hashCode` method on each of the two objects must produce the same integer result.

  Returns:
    a hash code value for this object.
  See Also:
    equals, Hashtable

equals

     public boolean equals(Object obj)

  Compares two Objects for equality.

  The `equals` method implements an equivalence relation:

  - It is reflexive: for any reference value `x`, `x.equals(x)` should return `true`.
  - It is symmetric: for any reference values `x` and `y`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
  - It is transitive: for any reference values `x`, `y`, and `z`, if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.
  - It is consistent: for any reference values `x` and `y`, multiple invocations of `x.equals(y)` consistently return `true` or consistently return `false`.
  - For any reference value `x`, `x.equals(null)` should return `false`.

  The equals method for class `Object` implements the most discriminating possible equivalence relation on objects; that is, for any reference values `x` and `y`, this method returns `true` if and only if `x` and `y` refer to the same object (`x==y` has the value `true`).

  Parameters:
    obj - the reference object with which to compare.
  Returns:
    `true` if this object is the same as the obj argument; `false` otherwise.
  See Also:
    hashCode, Hashtable

clone

     protected native Object clone() throws CloneNotSupportedException

  Creates a new object of the same class as this object. It then initializes each of the new object's fields by assigning it the same value as the corresponding field in this object. No constructor is called.

  The `clone` method of class `Object` will only clone an object whose class indicates that it is willing for its instances to be cloned. A class indicates that its instances can be cloned by declaring that it implements the `Cloneable` interface.

  Returns:
    a clone of this instance.
  Throws: CloneNotSupportedException
    if the object's class does not support the `Cloneable` interface. Subclasses that override the `clone` method can also throw this exception to indicate that an instance cannot be cloned.
  Throws: OutOfMemoryError
    if there is not enough memory.
  See Also:
    Cloneable

toString

     public String toString()

  Returns a string representation of the object. In general, the `toString` method returns a string that "textually represents" this object. The result should be a concise but informative representation that is easy for a person to read. It is recommendedthat all subclasses override this method.

  The `toString` method for class `Object` returns a string consisting of the name of the class of which the object is an instance, the at-sign character ``@`', and the unsigned hexadecimal representation of the hash code of the object.

  Returns:
    a string representation of the object.

notify

     public final native void notify()

  Wakes up a single thread that is waiting on this object's monitor. A thread waits on an object's monitor by calling one of the `wait` methods.

  This method should only be called by a thread that is the owner of this object's monitor. A thread becomes the owner of the object's monitor in one of three ways:

  - By executing a synchronized instance method of that object.
  - By executing the body of a `synchronized` statement that synchronizes on the object.
  - For objects of type `Class,` by executing a synchronized static method of that class.

  Only one thread at a time can own an object's monitor.

  Throws: IllegalMonitorStateException
    if the current thread is not the owner of this object's monitor.
  See Also:
    notifyAll, wait

notifyAll

     public final native void notifyAll()

  Wakes up all threads that are waiting on this object's monitor. A thread waits on an object's monitor by calling one of the `wait` methods.

  This method should only be called by a thread that is the owner of this object's monitor. See the `notify` method for a description of the ways in which a thread can become the owner of a monitor.

  Throws: IllegalMonitorStateException
    if the current thread is not the owner of this object's monitor.
  See Also:
    notify, wait

wait

     public final native void wait(long timeout) throws InterruptedException

  Waits to be notified by another thread of a change in this object.

  The current thread must own this object's monitor. The thread releases ownership of this monitor and waits until either of the following two conditions has occurred:

  - Another thread notifies threads waiting on this object's monitor to wake up either through a call to the `notify` method or the `notifyAll` method.
  - The timeout period, specified by the `timeout` argument in milliseconds, has elapsed.

  The thread then waits until it can re-obtain ownership of the monitor and resumes execution.

  This method should only be called by a thread that is the owner of this object's monitor. See the `notify` method for a description of the ways in which a thread can become the owner of a monitor.

  Parameters:
    timeout - the maximum time to wait in milliseconds.
  Throws: IllegalArgumentException
    if the value of timeout is negative.
  Throws: IllegalMonitorStateException
    if the current thread is not the owner of the object's monitor.
  Throws: InterruptedException
    if another thread has interrupted this thread.
  See Also:
    notify, notifyAll

wait

     public final void wait(long timeout,
                            int nanos) throws InterruptedException

  Waits to be notified by another thread of a change in this object.

  This method is similar to the `wait` method of one argument, but it allows finer control over the amount of time to wait for a notification before giving up.

  The current thread must own this object's monitor. The thread releases ownership of this monitor and waits until either of the following two conditions has occurred:

  - Another thread notifies threads waiting on this object's monitor to wake up either through a call to the `notify` method or the `notifyAll` method.
  - The timeout period, specified by `timeout` milliseconds plus `nanos` nanoseconds arguments, has elapsed.

  The thread then waits until it can re-obtain ownership of the monitor and resumes execution

  This method should only be called by a thread that is the owner of this object's monitor. See the `notify` method for a description of the ways in which a thread can become the owner of a monitor.

  Parameters:
    timeout - the maximum time to wait in milliseconds.
    nano - additional time, in nanoseconds range 0-999999.
  Throws: IllegalArgumentException
    if the value of timeout is negative or the value of nanos is not in the range 0-999999.
  Throws: IllegalMonitorStateException
    if the current thread is not the owner of this object's monitor.
  Throws: InterruptedException
    if another thread has interrupted this thread.

wait

     public final void wait() throws InterruptedException

  Waits to be notified by another thread of a change in this object.

  The current thread must own this object's monitor. The thread releases ownership of this monitor and waits until another thread notifies threads waiting on this object's monitor to wake up either through a call to the `notify` method or the `notifyAll` method. The thread then waits until it can re-obtain ownership of the monitor and resumes execution.

  This method should only be called by a thread that is the owner of this object's monitor. See the `notify` method for a description of the ways in which a thread can become the owner of a monitor.

  Throws: IllegalMonitorStateException
    if the current thread is not the owner of the object's monitor.
  Throws: InterruptedException
    if another thread has interrupted this thread.
  See Also:
    notify, notifyAll

finalize

     protected void finalize() throws Throwable

  Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. A subclass overrides the `finalize` method to dispose of system resources or to perform other cleanup.

  Any exception thrown by the `finalize` method causes the finalization of this object to be halted, but is otherwise ignored.

  The `finalize` method in `Object` does nothing.

  Throws: Throwable
    [Need description!]

    All Packages  Class Hierarchy  This Package  Previous  Next  Index

Submit a bug or feature - Version 1.1.8 of Java Platform API Specification
Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries.
Copyright 1995-1999 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.