<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<!--NewPage-->
<html>
<head>
<!-- Generated by javadoc on Wed Jul 28 01:21:15 GMT 1999 -->
<title>
  Class java.lang.Object
</title>
</head>
<body>
<a name="_top_"></a>
<pre>
<a href="packages.html">All Packages</a>  <a href="tree.html">Class Hierarchy</a>  <a href="Package-java.lang.html">This Package</a>  <a href="java.lang.Number.html#_top_">Previous</a>  <a href="java.lang.Process.html#_top_">Next</a>  <a href="AllNames.html">Index</a></pre>
<hr>
<h1>
  Class java.lang.Object
</h1>
<pre>
java.lang.Object
</pre>
<hr>
<dl>
  <dt> public class <b>Object</b>
</dl>
Class <code>Object</code> is the root of the class hierarchy. 
 Every class has <code>Object</code> as a superclass. All objects, 
 including arrays, implement the methods of this class.
<p>
<dl>
    <dt> <b>See Also:</b>
    <dd> <a href="java.lang.Class.html#_top_">Class</a>
</dl>
<hr>
<a name="index"></a>
<h2>
  <img src="images/constructor-index.gif" width=275 height=38 alt="Constructor Index">
</h2>
<dl>
  <dt> <img src="images/yellow-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#Object()"><b>Object</b></a>()
  <dd> 
</dl>
<h2>
  <img src="images/method-index.gif" width=207 height=38 alt="Method Index">
</h2>
<dl>
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#clone()"><b>clone</b></a>()
  <dd>  Creates a new object of the same class as this object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#equals(java.lang.Object)"><b>equals</b></a>(Object)
  <dd>  Compares two Objects for equality.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#finalize()"><b>finalize</b></a>()
  <dd>  Called by the garbage collector on an object when garbage collection
 determines that there are no more references to the object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#getClass()"><b>getClass</b></a>()
  <dd>  Returns the runtime class of an object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#hashCode()"><b>hashCode</b></a>()
  <dd>  Returns a hash code value for the object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#notify()"><b>notify</b></a>()
  <dd>  Wakes up a single thread that is waiting on this object's 
 monitor.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#notifyAll()"><b>notifyAll</b></a>()
  <dd>  Wakes up all threads that are waiting on this object's monitor.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#toString()"><b>toString</b></a>()
  <dd>  Returns a string representation of the object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#wait()"><b>wait</b></a>()
  <dd>  Waits to be notified by another thread of a change in this object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#wait(long)"><b>wait</b></a>(long)
  <dd>  Waits to be notified by another thread of a change in this object.
  <dt> <img src="images/red-ball-small.gif" width=6 height=6 alt=" o ">
	<a href="#wait(long, int)"><b>wait</b></a>(long, int)
  <dd>  Waits to be notified by another thread of a change in this object.
</dl>
<a name="constructors"></a>
<h2>
  <img src="images/constructors.gif" width=231 height=38 alt="Constructors">
</h2>
<a name="Object"></a>
<a name="Object()"><img src="images/yellow-ball.gif" width=12 height=12 alt=" o "></a>
<b>Object</b>
<pre>
 public Object()
</pre>
<a name="methods"></a>
<h2>
  <img src="images/methods.gif" width=151 height=38 alt="Methods">
</h2>
<a name="getClass()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="getClass"><b>getClass</b></a>
<pre>
 public final native <a href="java.lang.Class.html#_top_">Class</a> getClass()
</pre>
<dl>
  <dd> Returns the runtime class of an object.
<p>
  <dd><dl>
    <dt> <b>Returns:</b>
    <dd> the object of type <code>Class</code> that represents the
          runtime class of the object.
  </dl></dd>
</dl>
<a name="hashCode()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="hashCode"><b>hashCode</b></a>
<pre>
 public native int hashCode()
</pre>
<dl>
  <dd> Returns a hash code value for the object. This method is 
 supported for the benefit of hashtables such as those provided by 
 <code>java.util.Hashtable</code>. 
 <p>
 The general contract of <code>hashCode</code> is: 
 <ul>
 <li>Whenever it is invoked on the same object more than once during 
     an execution of a Java application, the <code>hashCode</code> 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. 
 <li>If two objects are equal according to the <code>equals</code> 
     method, then calling the <code>hashCode</code> method on each of the 
     two objects must produce the same integer result. 
 </ul>
<p>
  <dd><dl>
    <dt> <b>Returns:</b>
    <dd> a hash code value for this object.
    <dt> <b>See Also:</b>
    <dd> <a href="#equals(java.lang.Object)">equals</a>, <a href="java.util.Hashtable.html#_top_">Hashtable</a>
  </dl></dd>
</dl>
<a name="equals(java.lang.Object)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="equals"><b>equals</b></a>
<pre>
 public boolean equals(<a href="#_top_">Object</a> obj)
</pre>
<dl>
  <dd> Compares two Objects for equality.
 <p>
 The <code>equals</code> method implements an equivalence relation: 
 <ul>
 <li>It is <i>reflexive</i>: for any reference value <code>x</code>, 
     <code>x.equals(x)</code> should return <code>true</code>. 
 <li>It is <i>symmetric</i>: for any reference values <code>x</code> and 
     <code>y</code>, <code>x.equals(y)</code> should return 
     <code>true</code> if and only if <code>y.equals(x)</code> returns 
     <code>true</code>. 
 <li>It is <i>transitive</i>: for any reference values <code>x</code>, 
     <code>y</code>, and <code>z</code>, if <code>x.equals(y)</code>
     returns  <code>true</code> and <code>y.equals(z)</code> returns 
     <code>true</code>, then <code>x.equals(z)</code> should return 
     <code>true</code>. 
 <li>It is <i>consistent</i>: for any reference values <code>x</code> 
     and <code>y</code>, multiple invocations of <code>x.equals(y)</code> 
     consistently return <code>true</code> or consistently return 
     <code>false</code>. 
 <li>For any reference value <code>x</code>, <code>x.equals(null)</code> 
     should return <code>false</code>.
 </ul>
 <p>
 The equals method for class <code>Object</code> implements the most 
 discriminating possible equivalence relation on objects; that is, 
 for any reference values <code>x</code> and <code>y</code>, this 
 method returns <code>true</code> if and only if <code>x</code> and 
 <code>y</code> refer to the same object (<code>x==y</code> has the 
 value <code>true</code>).
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> obj - the reference object with which to compare.
    <dt> <b>Returns:</b>
    <dd> <code>true</code> if this object is the same as the obj
          argument; <code>false</code> otherwise.
    <dt> <b>See Also:</b>
    <dd> <a href="java.lang.Boolean.html#hashCode()">hashCode</a>, <a href="java.util.Hashtable.html#_top_">Hashtable</a>
  </dl></dd>
</dl>
<a name="clone()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="clone"><b>clone</b></a>
<pre>
 protected native <a href="#_top_">Object</a> clone() throws <a href="java.lang.CloneNotSupportedException.html#_top_">CloneNotSupportedException</a>
</pre>
<dl>
  <dd> 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. 
 <p>
 The <code>clone</code> method of class <code>Object</code> 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 
 <code>Cloneable</code> interface.
<p>
  <dd><dl>
    <dt> <b>Returns:</b>
    <dd> a clone of this instance.
    <dt> <b>Throws:</b> <a href="java.lang.CloneNotSupportedException.html#_top_">CloneNotSupportedException</a>
    <dd> if the object's class does not
               support the <code>Cloneable</code> interface. Subclasses
               that override the <code>clone</code> method can also
               throw this exception to indicate that an instance cannot
               be cloned.
    <dt> <b>Throws:</b> <a href="java.lang.OutOfMemoryError.html#_top_">OutOfMemoryError</a>
    <dd> if there is not enough memory.
    <dt> <b>See Also:</b>
    <dd> <a href="java.lang.Cloneable.html#_top_">Cloneable</a>
  </dl></dd>
</dl>
<a name="toString()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="toString"><b>toString</b></a>
<pre>
 public <a href="java.lang.String.html#_top_">String</a> toString()
</pre>
<dl>
  <dd> Returns a string representation of the object. In general, the 
 <code>toString</code> 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.
 <p>
 The <code>toString</code> method for class <code>Object</code> 
 returns a string consisting of the name of the class of which the 
 object is an instance, the at-sign character `<code>@</code>', and 
 the unsigned hexadecimal representation of the hash code of the 
 object.
<p>
  <dd><dl>
    <dt> <b>Returns:</b>
    <dd> a string representation of the object.
  </dl></dd>
</dl>
<a name="notify()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="notify"><b>notify</b></a>
<pre>
 public final native void notify()
</pre>
<dl>
  <dd> 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 <code>wait</code> methods.
 <p>
 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: 
 <ul>
 <li>By executing a synchronized instance method of that object. 
 <li>By executing the body of a <code>synchronized</code> statement 
     that synchronizes on the object. 
 <li>For objects of type <code>Class,</code> by executing a 
     synchronized static method of that class. 
 </ul>
 <p>
 Only one thread at a time can own an object's monitor.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.IllegalMonitorStateException.html#_top_">IllegalMonitorStateException</a>
    <dd> if the current thread is not
               the owner of this object's monitor.
    <dt> <b>See Also:</b>
    <dd> <a href="#notifyAll()">notifyAll</a>, <a href="#wait()">wait</a>
  </dl></dd>
</dl>
<a name="notifyAll()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="notifyAll"><b>notifyAll</b></a>
<pre>
 public final native void notifyAll()
</pre>
<dl>
  <dd> 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 
 <code>wait</code> methods.
 <p>
 This method should only be called by a thread that is the owner 
 of this object's monitor. See the <code>notify</code> method for a 
 description of the ways in which a thread can become the owner of 
 a monitor.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.IllegalMonitorStateException.html#_top_">IllegalMonitorStateException</a>
    <dd> if the current thread is not
               the owner of this object's monitor.
    <dt> <b>See Also:</b>
    <dd> <a href="#notify()">notify</a>, <a href="#wait()">wait</a>
  </dl></dd>
</dl>
<a name="wait(long)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="wait"><b>wait</b></a>
<pre>
 public final native void wait(long timeout) throws <a href="java.lang.InterruptedException.html#_top_">InterruptedException</a>
</pre>
<dl>
  <dd> Waits to be notified by another thread of a change in this object.
 <p>
 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: 
 <ul>
 <li>Another thread notifies threads waiting on this object's monitor 
     to wake up either through a call to the <code>notify</code> method 
     or the <code>notifyAll</code> method. 
 <li>The timeout period, specified by the <code>timeout</code> 
     argument in milliseconds, has elapsed. 
 </ul>
 <p>
 The thread then waits until it can re-obtain ownership of the 
 monitor and resumes execution. 
 <p>
 This method should only be called by a thread that is the owner 
 of this object's monitor. See the <code>notify</code> method for a 
 description of the ways in which a thread can become the owner of 
 a monitor.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> timeout - the maximum time to wait in milliseconds.
    <dt> <b>Throws:</b> <a href="java.lang.IllegalArgumentException.html#_top_">IllegalArgumentException</a>
    <dd> if the value of timeout is
		     negative.
    <dt> <b>Throws:</b> <a href="java.lang.IllegalMonitorStateException.html#_top_">IllegalMonitorStateException</a>
    <dd> if the current thread is not
               the owner of the object's monitor.
    <dt> <b>Throws:</b> <a href="java.lang.InterruptedException.html#_top_">InterruptedException</a>
    <dd> if another thread has
               interrupted this thread.
    <dt> <b>See Also:</b>
    <dd> <a href="#notify()">notify</a>, <a href="#notifyAll()">notifyAll</a>
  </dl></dd>
</dl>
<a name="wait(long, int)"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="wait"><b>wait</b></a>
<pre>
 public final void wait(long timeout,
                        int nanos) throws <a href="java.lang.InterruptedException.html#_top_">InterruptedException</a>
</pre>
<dl>
  <dd> Waits to be notified by another thread of a change in this object.
 <p>
 This method is similar to the <code>wait</code> method of one 
 argument, but it allows finer control over the amount of time to 
 wait for a notification before giving up. 
 <p>
 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: 
 <ul>
 <li>Another thread notifies threads waiting on this object's monitor 
     to wake up either through a call to the <code>notify</code> method 
     or the <code>notifyAll</code> method. 
 <li>The timeout period, specified by <code>timeout</code> 
     milliseconds plus <code>nanos</code> nanoseconds arguments, has 
     elapsed. 
 </ul>
 <p>
 The thread then waits until it can re-obtain ownership of the 
 monitor and resumes execution 
 <p>
 This method should only be called by a thread that is the owner 
 of this object's monitor. See the <code>notify</code> method for a 
 description of the ways in which a thread can become the owner of 
 a monitor.
<p>
  <dd><dl>
    <dt> <b>Parameters:</b>
    <dd> timeout - the maximum time to wait in milliseconds.
    <dd> nano - additional time, in nanoseconds range
                       0-999999.
    <dt> <b>Throws:</b> <a href="java.lang.IllegalArgumentException.html#_top_">IllegalArgumentException</a>
    <dd> if the value of timeout is
			    negative or the value of nanos is
			    not in the range 0-999999.
    <dt> <b>Throws:</b> <a href="java.lang.IllegalMonitorStateException.html#_top_">IllegalMonitorStateException</a>
    <dd> if the current thread is not
               the owner of this object's monitor.
    <dt> <b>Throws:</b> <a href="java.lang.InterruptedException.html#_top_">InterruptedException</a>
    <dd> if another thread has
               interrupted this thread.
  </dl></dd>
</dl>
<a name="wait()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="wait"><b>wait</b></a>
<pre>
 public final void wait() throws <a href="java.lang.InterruptedException.html#_top_">InterruptedException</a>
</pre>
<dl>
  <dd> Waits to be notified by another thread of a change in this object. 
 <p>
 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 <code>notify</code> method or the 
 <code>notifyAll</code> method. The thread then waits until it can 
 re-obtain ownership of the monitor and resumes execution. 
 <p>
 This method should only be called by a thread that is the owner 
 of this object's monitor. See the <code>notify</code> method for a 
 description of the ways in which a thread can become the owner of 
 a monitor.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.IllegalMonitorStateException.html#_top_">IllegalMonitorStateException</a>
    <dd> if the current thread is not
               the owner of the object's monitor.
    <dt> <b>Throws:</b> <a href="java.lang.InterruptedException.html#_top_">InterruptedException</a>
    <dd> if another thread has
               interrupted this thread.
    <dt> <b>See Also:</b>
    <dd> <a href="#notify()">notify</a>, <a href="#notifyAll()">notifyAll</a>
  </dl></dd>
</dl>
<a name="finalize()"><img src="images/red-ball.gif" width=12 height=12 alt=" o "></a>
<a name="finalize"><b>finalize</b></a>
<pre>
 protected void finalize() throws <a href="java.lang.Throwable.html#_top_">Throwable</a>
</pre>
<dl>
  <dd> 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 <code>finalize</code> method to dispose of
 system resources or to perform other cleanup. 
 <p>
 Any exception thrown by the <code>finalize</code> method causes 
 the finalization of this object to be halted, but is otherwise 
 ignored. 
 <p>
 The <code>finalize</code> method in <code>Object</code> does 
 nothing.
<p>
  <dd><dl>
    <dt> <b>Throws:</b> <a href="java.lang.Throwable.html#_top_">Throwable</a>
    <dd> [Need description!]
  </dl></dd>
</dl>
<hr>
<pre>
<a href="packages.html">All Packages</a>  <a href="tree.html">Class Hierarchy</a>  <a href="Package-java.lang.html">This Package</a>  <a href="java.lang.Number.html#_top_">Previous</a>  <a href="java.lang.Process.html#_top_">Next</a>  <a href="AllNames.html">Index</a></pre>
</body>
</html>
