Object クラス
- [内容]
- すべてのクラスの頂点にあるクラスであり,特に明示しない限り,ユーザが作成したプログラムもこのクラスのサブクラスとなります.
- [主なメソッド]
- protected Object clone()
- オブジェクトのコピーを生成する.ただし,そのオブジェクトのクラスが Cloneable を実装している(クラスの先頭に,implements Cloneable と指定されている)必要がある
- public boolean equals(Object obj)
- 2 つのオブジェクトが等しいか否かを調べる
- public final void notify()
- public final void notifyAll()
- 実行を待っているスレッドを起動する
- public final void wait() throws InterruptedException
- public final void wait(long timeout) throws InterruptedException
- public final void wait(long timeout, int nanos) throws InterruptedException
- 他のスレッドが notify によって再起動するか,または,指定された時間が経過するまで実行を待つ
- timeout ミリ秒
- nanos ナノ秒
- [使用例]
- プログラム例は,Point クラスのオブジェクトの比較における clone と equals の例です.
- プログラム例は,マルチスレッドを制御する例です.複数のスレッドを生成し,wait と notify によってタイミングをとりながら実行しています.最初のスレッド *** がスタートしカウントを始めますが,50 カウントしたところでスレッド --- の実行が終了するまで待ちます.そして,スレッド --- の実行終了後に再びカウントを継続します.