Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

java.lang
クラス Object

java.lang.Object

public class Object

全てのクラス階層のルートに存在するクラスです。 存在する全てのクラスは Object クラスをスーパークラスに含みます。 オブジェクトとして存在するものはクラスに限らず配列もこのクラスに存在するメソッドを提供します。

導入されたバージョン:
CLDC 1.0
関連項目:
Class

コンストラクタの概要
Object()
          デフォルトのコンストラクタです。
 
メソッドの概要
 boolean equals(Object obj)
          オブジェクト同士を比較し、等しいか否かを返します。
 Class getClass()
          オブジェクトの実行時クラスである Class オブジェクトを返します。
 int hashCode()
          オブジェクトのハッシュコードを返します。
 void notify()
          このオブジェクトのモニターが待機させているいずれかのスレッドの実行を1つ再開します。
 void notifyAll()
          このオブジェクトのモニターによって待機中の全てのスレッドの実行を再開します。
 String toString()
          このオブジェクトの文字列表現を返します。
 void wait()
          現在のスレッドを待機状態にし、他のスレッドからこのオブジェクトの notify() メソッドまたは notifyAll() メソッドが呼び出されまでその状態を継続します。
 void wait(long timeout)
          現在のスレッドを待機状態にし、他のスレッドからこのオブジェクトの notify() メソッドまたは notifyAll() メソッドが呼び出されるか、指定された時間が経過するまでその状態を継続します。
 void wait(long timeout, int ns)
          現在のスレッドを待機状態にし、他のスレッドからこのオブジェクトの notify() メソッドまたは notifyAll() メソッドが呼び出されるか、指定された時間が経過するまでその状態を継続します。
 

コンストラクタの詳細

Object

public Object()
デフォルトのコンストラクタです。

メソッドの詳細

getClass

public final Class getClass()
オブジェクトの実行時クラスである Class オブジェクトを返します。 このオブジェクトは表現するクラスの static synchronized 宣言のメソッドによってロックする対象となるものです。

戻り値:
対応する Class オブジェクトを返します。

hashCode

public int hashCode()

オブジェクトのハッシュコードを返します。 このメソッドは Hashtable クラスのようなハッシュテーブルを構築するクラスに対してオブジェクトを登録する際に使用するために用意されています。

このメソッドの実装には以下のルールを適用しなければなりません。

Object クラスでは、できる限り異なるオブジェクトは異なる値を返すように実装しています。

戻り値:
ハッシュコードを返します。

equals

public boolean equals(Object obj)

オブジェクト同士を比較し、等しいか否かを返します。 このメソッドの実装には以下のルールを適用しなければなりません。

Object クラスでは、同じオブジェクト同士(this == obj)を比較した場合に限って true を返すように実装しています。

パラメータ:
obj - 比較対象のオブジェクトを渡します。
戻り値:
等しい場合は true を、等しくない場合は false を返します。

toString

public String toString()

このオブジェクトの文字列表現を返します。 Object クラスでは、オブジェクトのクラス名とハッシュコードを符号なし 16 進数で表現したものをアットマーク“@”(\u0040) で区切った文字列を返します。 すなわち、返す文字列表現は以下の記述を行ったものと等しくなります。

     getClass().getName() + "@" + Integer.toHexString(hashCode())

オブジェクトの文字列表現はテキストによってオブジェクトを表したもので、可読性があり有意義な情報を得られるものであるべきです。 全てのクラスにおいてこのメソッドをオーバーライドして実装することが推奨されます。

戻り値:
オブジェクトを文字列表現した結果が返ります。

notify

public final void notify()

このオブジェクトのモニターが待機させているいずれかのスレッドの実行を1つ再開します。 複数のスレッドが待機している状態でこのメソッドを呼び出した場合、どのスレッドが再開されるかは実装に依存します。 スレッドを待機状態にするためには wait(long) メソッドを呼び出します。

このメソッドを呼び出すことができるのは、オブジェクトのモニターを所有するスレッドでなければなりません。 モニターを所有するには以下の方法があります。

再開したスレッドは、カレントのスレッドがオブジェクトのロックしつづける限り動作することはできません。 再開したスレッドがオブジェクトによる同期が必要な場合、他の競合する可能性のあるスレッドと通常の方法で競合します。 例えば、再開したスレッドがロックを獲得する順番待ちにおいて、不利にも有利にもなることもなりません。

なお、オブジェクトのモニターは1度に1つだけのスレッドが所有することができます。 このメソッドを呼び出したスレッドがモニターを所有していない場合は IllegalMonitorStateException を throw します。

全てのスレッドを再開する場合は notifyAll() メソッドを使用します。

例外:
IllegalMonitorStateException - 呼び出したすレッドがオブジェクトのモニターを所有していない場合に throw します。
関連項目:
notifyAll(), wait()

notifyAll

public final void notifyAll()

このオブジェクトのモニターによって待機中の全てのスレッドの実行を再開します。 スレッドは wait(long) メソッドを呼び出すとオブジェクトのモニターの管理下で待機状態になります。

再開するスレッドが全てである点を除き、notify() メソッドと同様です。

例外:
IllegalMonitorStateException - 呼び出したすレッドがオブジェクトのモニターを所有していない場合に throw します。
関連項目:
notifyAll(), wait()

wait

public final void wait(long timeout)
                throws InterruptedException

現在のスレッドを待機状態にし、他のスレッドからこのオブジェクトの notify() メソッドまたは notifyAll() メソッドが呼び出されるか、指定された時間が経過するまでその状態を継続します。

現在のスレッドはこのオブジェクトのモニタを所有していなければなりません。

このメソッドで現在のスレッド(以下それを T とする)は、このオブジェクトに設定された待機と、その時にこのオブジェクトのありとあらゆる同期クレームを放棄するための設定をします。 スレッド t は、目的のスケジューリングされたスレッドのために待機状態になり、以下の4つの事項の1つが発生するまでその状態を継続します:

スレッド T は、この時にオブジェクトとスレッドのために再有効化のスケジューリングの待機リストから除外されます。 その後、オブジェクトにおける同期を行うための権利について通常通りに他のスレッドと競います; いったんオブジェクトのコントロールを獲得すると、オブジェクトの全ての同期クレームが、wait メソッド呼び出し以前の状態に復元します。 そしてスレッド Twait メソッドから処理を戻します。 したがって、wait メソッドから処理が戻ると、丁度 wait メソッドが呼び出されたときと同様に、オブジェクトとスレッド T の同期状態を復元します。

現在のスレッドが待機状態の時に、別のスレッドが割り込む(interrupt)なら、InterruptedException を throw します。 このオブジェクトのロック状況が上記で説明したとおりに復元されるまで、この例外は throw しません。

wait メソッドは、現在のスレッドをこのオブジェクトの待機セットに加え、このオブジェクトだけのロックの解除することに注意してください; 現在のスレッドと同期を取るかもしれない、いかなる他のオブジェクトもスレッドが待機状態にあるときにロック状態が継続しています。

このメソッドはこのオブジェクトのモニタ所有者であるスレッドによってのみ呼び出すことができます。 スレッドがモニタの所有者になるための方法の説明は notify メソッドを参照してください。

パラメータ:
timeout - 待機する時間をミリ秒で指定します。
例外:
IllegalArgumentException - 待機する時間に負数が指定された場合に throw します。
IllegalMonitorStateException - 呼び出したスレッドがモニターを所有していない場合に throw します。
InterruptedException - いずれかのスレッドが現在のスレッドに割り込んだ場合に throw します。この例外が throw されると、現在のスレッドの割り込みステータスはクリアされます。
関連項目:
notify()

wait

public final void wait(long timeout,
                       int ns)
                throws InterruptedException

現在のスレッドを待機状態にし、他のスレッドからこのオブジェクトの notify() メソッドまたは notifyAll() メソッドが呼び出されるか、指定された時間が経過するまでその状態を継続します。

このメソッドは1つのパラメータの wait メソッドと同様ですが、それはタイムアウトまでのより細かい制御を可能にします。 数ナノ秒に単位の待ち時間量は以下のように与えます:

1000000*timeout+nanos

他の全ての点について、このメソッドは1つのパラメータの wait メソッドと同様です。 特に、wait(0, 0)wait(0) と同じ事を意味します。

現在のスレッドはこのオブジェクトのモニタを所有していなければなりません。 スレッドは、このモニタの所有権を手放し、以下の2つの条件のいずれかが発生するまで待機します。

モニタの所有権を再取得し実行を再開するその時まで、スレッドは待機します。

このメソッドはこのオブジェクトのモニタ所有者であるスレッドによってのみ呼び出すことができます。 スレッドがモニタの所有者になるための方法の説明は notify メソッドを参照してください。

パラメータ:
timeout - 待機する時間をミリ秒で指定します。
ns - 追加で待機する時間をナノ秒を 0 から 999999 の範囲で指定します。
例外:
IllegalArgumentException - 待機する時間に負数が指定された場合およびパラメータ ns0999999 の範囲外の場合に throw します。
IllegalMonitorStateException - 呼び出したスレッドがモニターを所有していない場合に throw します。
InterruptedException - いずれかのスレッドが現在のスレッドに割り込んだ場合に throw します。この例外が throw されると、現在のスレッドの割り込みステータスはクリアされます。

wait

public final void wait()
                throws InterruptedException

現在のスレッドを待機状態にし、他のスレッドからこのオブジェクトの notify() メソッドまたは notifyAll() メソッドが呼び出されまでその状態を継続します。

このメソッドは1つのパラメータの wait メソッドを wait(0) のように呼び出すことと同様です。

現在のスレッドはこのオブジェクトのモニタを所有していなければなりません。 このオブジェクトのモニタを持っている他のスレッドが、スレッドに通知するために notify メソッドまたは notifyAll メソッドを呼び出すまで待機します。 モニタの所有権を再取得し実行を再開するその時まで、スレッドは待機します。

このメソッドはこのオブジェクトのモニタ所有者であるスレッドによってのみ呼び出すことができます。 スレッドがモニタの所有者になるための方法の説明は notify メソッドを参照してください。

例外:
IllegalMonitorStateException - 呼び出したスレッドがモニターを所有していない場合に throw します。
InterruptedException - いずれかのスレッドが現在のスレッドに割り込んだ場合に throw します。この例外が throw されると、現在のスレッドの割り込みステータスはクリアされます。
関連項目:
notify(), notifyAll()

Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

公式仕様書原文の著作権表記等(※):

Mobile Information Device Profile Specification ("Specification")
Version: 2.0
Status: FCS
Release: November 5, 2002

Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc.
All rights reserved.
※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。