全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object
Object クラスはクラス階層のルートとなるクラスです。すべてのクラスはスーパークラスとして Object を持ちます。配列を含むすべてのオブジェクトはこのクラスのメソッドを実装します。
public Object()
public final native Class getClass()
Class 型のオブジェクト
public native int hashCode()
java.util.Hashtable によって提供されるようなハッシュテーブルで使用するために用意されています。
hashCode メソッドの一般的な規則を次に示します。
hashCode メソッドを複数回呼び出すと、一貫して同じ整数が返されます。アプリケーションを一度終了してからもう一度同じアプリケーションを実行した場合、このメソッドから返される整数は前回の実行時に返された整数と同じであるとは限らない。
equals メソッドによって同じであると判断された場合、この 2 つのオブジェクトに対してそれぞれ hashCode メソッドを呼び出すと、同じ整数を返す。
public boolean equals(Object obj)
equals メソッドは同等関係を実装します。
x に対して、
x.equals(x) は true を返す。
x と y に対して、x.equals(y) は、y.equals(x) が
true を返す場合にのみ
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 クラスの equals メソッドは、最も比較しやすいオブジェクトの同等関係を実装します。つまり、すべての参照値 x と y に対して、このメソッドは x と y が同じオブジェクトを参照する (x==y の値が true を返す) 場合にのみ true を返します。
true、同じではない場合は false
protected native Object clone() throws CloneNotSupportedException
Object クラスの clone メソッドはオブジェクトのクラスがクローンの作成を望む場合にのみクローンを作成します。インスタンスのクローンを作成できるクラスとは、Cloneable インタフェースの実装を宣言しているクラスです。
Cloneable インタフェースをサポートしていない場合。clone をオーバーライドするサブクラスも、インスタンスのクローンを作成することができない場合はこの例外をスローすることができる。
public String toString()
toString メソッドはオブジェクトを「テキスト表現」の文字列を返します。結果は簡潔で人間が読みやすいような有益な情報であるべきです。すべてのサブクラスでは、このメソッドをオーバーライドすることをお勧めします。
Object クラスの toString メソッドは、オブジェクトの派生元のクラス名と、「@」という記号、オブジェクトのハッシュコードの符号なし16進表現から構成される文字列を返します。
public final native void notify()
wait メソッドを呼び出すことによって、オブジェクトのモニタで待機します。
このメソッドを呼び出すのは、このオブジェクトのモニタを所有するスレッドでなければなりません。スレッドがオブジェクトのモニタの所有者になる方法は、次の 3 とおりがあります。
synchronized ステートメントの本体を実行する
Class クラスのオブジェクトの場合は、そのクラスの同期 static メソッドを実行する
オブジェクトのモニタを所有できるスレッドは一度に 1 つだけです。
public final native void notifyAll()
wait メソッドを実行することによってオブジェクトのモニタで待機します。
このメソッドを呼び出すのは、このオブジェクトのモニタを所有するスレッドでなければなりません。スレッドがオブジェクトのモニタの所有者になる方法については、 notify メソッドを参照してください。
public final native void wait(long timeout) throws InterruptedException
現在のオブジェクトはこのオブジェクトのモニタを所有していなければなりません。スレッドはこのモニタの所有権を解放し、次のいずれかの状態が発生するまで待機します。
notify メソッドまたは notifyAll メソッドを呼び出すことによって、このオブジェクトのモニタで待機中のスレッドに通知を出し、このスレッドを再開する
timeout 引数に指定したタイムアウト期間 (ミリ秒単位) が経過する
スレッドはモニタの所有権を再度獲得するまで待機し、そのあと実行を再開します。
このメソッドを呼び出すのは、このオブジェクトのモニタを所有するスレッドだけでなければなりません。スレッドがオブジェクトのモニタの所有者になる方法については、 notify メソッドを参照してください。
public final void wait(long timeout,
int nanos) throws InterruptedException
このメソッドは、引数を 1 つだけ受け取る wait メソッドに似ていますが、タイムアウトまでの待ち時間の量をより細かく制御することができます。
現在のスレッドは、オブジェクトのモニタを所有していなければなりません。スレッドはこのモニタの所有権を解放し、次のいずれかの状態が発生するまで待機します。
notify メソッドまたは notifyAll メソッドを呼び出すことによって、このオブジェクトのモニタで待機中のスレッドに通知を出し、このスレッドを再開する
timeout 引数に指定したタイムアウト期間 (ミリ秒単位) と、 nanos 引数に指定したタイムアウト時間 (ナノ秒単位) を足した時間が経過する
スレッドはモニタの所有権を再度獲得するまで待機し、そのあと実行を再開します。
このメソッドを呼び出すのは、このオブジェクトのモニタを所有するスレッドだけでなければなりません。スレッドがオブジェクトのモニタの所有者になる方法については、 notify メソッドを参照してください。
public final void wait() throws InterruptedException
現在のスレッドはこのオブジェクトのモニタの所有者でなければなりません。スレッドはこのモニタの所有権を解放し、別のスレッドが notify メソッドまたはnotifyAll メソッドを呼び出してこのオブジェクトのモニタ上で待機するスレッドに通知を出すまで待機します。そのあと、スレッドはモニタの所有権を再度取得するまで待機してから実行を再開します。
このメソッドを呼び出すのは、このオブジェクトのモニタを所有するスレッドだけでなければなりません。スレッドがオブジェクトのモニタの所有者になる方法については、 notify メソッドを参照してください。
protected void finalize() throws Throwable
finalize メソッドをオーバーライドして、システムリソースを破棄したり、その他の後処理を行うことができます。
finalize メソッドによって例外がスローされると、finalize メソッドの処理は停止されます。そうでない場合は無視されます。
Object の finalize メソッドは何も行いません。
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス