logo

Javaのオブジェクトクラス

オブジェクトクラス デフォルトでは、Java のすべてのクラスの親クラスです。つまり、Javaの最上位クラスです。

Object クラスは、型が不明なオブジェクトを参照する場合に便利です。親クラス参照変数が子クラス オブジェクトを参照できることに注意してください (アップキャストとして知られています)。

例を挙げてみましょう。オブジェクトを返す getObject() メソッドがありますが、これは Employee、Student などの任意の型にすることができ、オブジェクト クラス参照を使用してそのオブジェクトを参照できます。例えば:

 Object obj=getObject();//we don't know what object will be returned from this method 

Object クラスは、オブジェクトの比較、オブジェクトの複製、オブジェクトの通知など、すべてのオブジェクトに共通の動作を提供します。

オブジェクトクラスのメソッド

Object クラスは多くのメソッドを提供します。それらは次のとおりです。
方法説明
パブリック最終クラス getClass()このオブジェクトの Class クラス オブジェクトを返します。さらに、Class クラスを使用して、このクラスのメタデータを取得できます。
public int hashCode()このオブジェクトのハッシュコード番号を返します。
public booleanquals(Object obj)指定されたオブジェクトとこのオブジェクトを比較します。
protected Object clone() が CloneNotSupportedException をスローするこのオブジェクトの正確なコピー (クローン) を作成して返します。
パブリック String toString()このオブジェクトの文字列表現を返します。
パブリック最終無効通知()単一スレッドを起動し、このオブジェクトのモニターで待機します。
public Final void NoticeAll()すべてのスレッドを起動し、このオブジェクトのモニターで待機します。
public Final void wait(long timeout)throws InterruptedException現在のスレッドは、別のスレッドが通知する (notify() または NoticeAll() メソッドを呼び出す) まで、指定されたミリ秒間待機します。
publicfinal void wait(long timeout,int nanos)はInterruptedExceptionをスローします現在のスレッドは、別のスレッドが通知する (notify() または NoticeAll() メソッドを呼び出す) まで、指定されたミリ秒およびナノ秒待機します。
public Final void wait()throws InterruptedException別のスレッドが通知する (notify() メソッドまたは NoticeAll() メソッドを呼び出す) まで、現在のスレッドを待機させます。
protected void Finalize()throws Throwableオブジェクトがガベージ コレクションされる前に、ガベージ コレクターによって呼び出されます。

これらの方法については、次の章で詳しく学習します。