java.lang.Object

ObjectクラスはJavaのすべてのクラスの共通のスーパークラスです。 プログラム内でこのクラスのオブジェクトを直接利用することはまずありませんが、 受け渡すデータのクラスが不定の場合に、Objectクラスの指定がしばしば用いられます。 java.langパッケージに含まれます。

Objectクラスのフィールド

Objectクラスには publicなフィールドは存在しません。

Objectクラスのコンストラクタ

Objectクラスには publicなコンストラクタが1個存在します。 このコンストラクタは、すべてのクラスのデフォルトのコンストラクタとなります。 また、意外なことに Objectは abstractなクラスではありません。 実用的な価値は別として、 このコンストラクタによって Objectのオブジェクト(インスタンス)を プログラム内で生成することも許されます。

Objectクラスのメソッド Objectクラスには publicなメソッドが9個存在します。

getClass()メソッドはオブジェクトの クラスに関する情報をClassクラスのオブジェクトとして返します。 finalとして定義されているので、 このメソッドは Javaの全てのクラスで利用されることになります。
hashCode()メソッドはオブジェクトのハッシュコードの値を返します。
equals()メソッドは、引数に与えられたオブジェクトとの同一性を判定します。
toString()メソッドは、オブジェクトのクラス名とハッシュコードの値を Stringのオブジェクトとして返します。

Javaのプログラムは一般にマルチスレッドの処理を実行します。 複数のスレッドから同一のオブジェクトが操作される場合、 その結果として本来意図していたのと異なる結果を招くおそれが常にあります。 notify(),notifyAll(),wait()のメソッドは、オブジェクトへのアクセスの 制御のために用意されたものです。
notify(),notifyAll()は、現在オブジェクトの監視を行っているスレッドが、 オブジェクトを取り扱う他のスレッドを再開するように通知します。
wait()は、現在オブジェクトを取り扱っているカレントスレッドが、 その処理を一時停止するために呼び出します。引数にタイムアウトの時間を 指定することができます。timeoutはミリ秒単位、 nanosはナノ秒単位(0-999999の範囲)です。
これらのメソッドは finalで定義されているので、通常のクラスで定義し直す ことは許されません。