ObjectクラスはJavaのすべてのクラスの共通のスーパークラスです。 プログラム内でこのクラスのオブジェクトを直接利用することはまずありませんが、 受け渡すデータのクラスが不定の場合に、Objectクラスの指定がしばしば用いられます。 java.langパッケージに含まれます。
Objectクラスのフィールド
Objectクラスには publicなフィールドは存在しません。
Objectクラスのコンストラクタ
Objectクラスには publicなコンストラクタが1個存在します。 このコンストラクタは、すべてのクラスのデフォルトのコンストラクタとなります。 また、意外なことに Objectは abstractなクラスではありません。 実用的な価値は別として、 このコンストラクタによって Objectのオブジェクト(インスタンス)を プログラム内で生成することも許されます。
Objectクラスのメソッド
Objectクラスには publicなメソッドが9個存在します。
Javaのプログラムは一般にマルチスレッドの処理を実行します。
複数のスレッドから同一のオブジェクトが操作される場合、
その結果として本来意図していたのと異なる結果を招くおそれが常にあります。
notify(),notifyAll(),wait()のメソッドは、オブジェクトへのアクセスの
制御のために用意されたものです。
notify(),notifyAll()は、現在オブジェクトの監視を行っているスレッドが、
オブジェクトを取り扱う他のスレッドを再開するように通知します。
wait()は、現在オブジェクトを取り扱っているカレントスレッドが、
その処理を一時停止するために呼び出します。引数にタイムアウトの時間を
指定することができます。timeoutはミリ秒単位、
nanosはナノ秒単位(0-999999の範囲)です。
これらのメソッドは finalで定義されているので、通常のクラスで定義し直す
ことは許されません。