Objectクラス
Objectはすべてのクラスの共通するスーパークラスです。
クラス定義の時に extends による指定を省略すると、
この Objectの直接のサブクラスとなります。
以下に示すメソッドは、すべてのクラスと配列に継承され、
それぞれのクラスの目的に応じて実装されなければなりません。
コンストラクタ
新しいオブジェクトを生成します。
Objectクラスのメソッドは、オブジェクトのコピーや後始末、
オブジェクトに関する情報の取得など最も基本的な手段を提供します。
オブジェクトのコピーを新たに生成し、その値を返します。
clone()メソッドを呼び出せるのは、クラスが Cloneableインターフェイス
を実装した場合のみです。
(もっとも Cloneableインターフェイスは実装すべきメソッドを持ちません。
形式的に implements すればよいだけです。)
- protected void finalize()
オブジェクトがガーベッジコレクタによって解放された時に呼び出されます。
他の資源の解放などの後始末が必要な場合に使用します。
- public final Class getClass()
そのオブジェクトのクラスに関する情報を記憶する Classクラスのオブジェクト
を返します。
- public boolean equals(Object obj)
引数に与えられたオブジェクトと「等しいか」どうかを判定するメソッドです。
「等しい」の意味は、クラスごとにその目的に応じて定義します。
オブジェクトのハッシュコードの値を返します。
オブジェクトに関する主要な情報を Stringクラスのオブジェクトとして
返します。どのような内容の情報を返すかは、クラスごとにその目的に
応じて定義します。
- public final void notify()
- public final void notifyAll()
オブジェクトの実行を待っているスレッドへの通知を行います。
- public final void wait()
- public final void wait(long timeout)
- public final void wait(long timeout, int nanos)
オブジェクトのスレッドを notifiy()の通知を受けるまで、あるいは
引数で与えられた待ち時間の間待機させます。