|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object
public class Object
全てのクラス階層のルートに存在するクラスです。
存在する全てのクラスは Object
クラスをスーパークラスに含みます。
オブジェクトとして存在するものはクラスに限らず配列もこのクラスに存在するメソッドを提供します。
Class
コンストラクタの概要 | |
---|---|
Object()
デフォルトのコンストラクタです。 |
メソッドの概要 | |
---|---|
boolean |
equals(Object obj)
オブジェクト同士を比較し、等しいかどうかを返します。 |
Class |
getClass()
オブジェクトの実行時クラスである Class オブジェクトを返します。 |
int |
hashCode()
オブジェクトのハッシュコードを返します。 |
void |
notify()
このオブジェクトのモニターが待機させているいずれかのスレッドの実行を1つ再開します。 |
void |
notifyAll()
このオブジェクトのモニターによって待機中の全てのスレッドの実行を再開します。 |
String |
toString()
このオブジェクトの文字列表現を返します。 |
void |
wait()
このメソッドを呼び出したスレッドを待機状態にします。 |
void |
wait(long ms)
このメソッドを呼び出したスレッドを待機状態にします。 |
void |
wait(long ms,
int ns)
このメソッドを呼び出したスレッドを待機状態にします。 |
コンストラクタの詳細 |
---|
public Object()
メソッドの詳細 |
---|
public final Class getClass()
Class
オブジェクトを返します。
このオブジェクトは表現するクラスの static synchronized
宣言のメソッドによってロックする対象となるものです。
Class
オブジェクトを返します。public int hashCode()
オブジェクトのハッシュコードを返します。
このメソッドは Hashtable
クラスのようなハッシュテーブルを構築するクラスに対してオブジェクトを登録する際に使用するために用意されています。
このメソッドの実装には以下のルールを適用しなければなりません。
equals(java.lang.Object)
メソッドによる比較対象が変更されていない場合、一貫して同じ値を返さなければなりません。
equals(java.lang.Object)
メソッドにおいて、等価とされるオブジェクトは同じ値を返さなければなりません。
equals(java.lang.Object)
メソッドにおいて、等価ではないとされるオブジェクトはそれぞれが別の値を返さなければなりません。
Object
クラスでは、できる限り異なるオブジェクトは異なる値を返すように実装しています。
public boolean equals(Object obj)
オブジェクト同士を比較し、等しいかどうかを返します。 このメソッドの実装には以下のルールを適用しなければなりません。
true
を返さなければなりません。
true
となる場合はオブジェクト beta に対してオブジェクト alpha をパラメータとして呼び出しても true
が返さなければなりません。
true
となる場合はオブジェクト beta に対してオブジェクト cita をパラメータに呼び出しても true
を返さなければなりません。
null
が渡された場合は常に false
を返さなければなりません。
Object
クラスでは、同じオブジェクト同士(this == obj
)を比較した場合に限って true
を返すように実装しています。
obj
- 比較対象のオブジェクトを渡します。
true
を、等しくない場合は false
を返します。public String toString()
このオブジェクトの文字列表現を返します。
Object
クラスでは、オブジェクトのクラス名とハッシュコードを符号なし 16 進数で表現したものをアットマーク“@
”(\u0040) で区切った文字列を返します。
すなわち、返す文字列表現は以下の記述を行ったものと等しくなります。
getClass().getName() + "@" + Integer.toHexString(hashCode())
オブジェクトの文字列表現はテキストによってオブジェクトを表したもので、可読性があり有意義な情報を得られるものであるべきです。 全てのクラスにおいてこのメソッドをオーバーライドして実装することが推奨されます。
public final void notify()
このオブジェクトのモニターが待機させているいずれかのスレッドの実行を1つ再開します。
複数のスレッドが待機している状態でこのメソッドを呼び出した場合、どのスレッドが再開されるかは実装に依存します。
スレッドを待機状態にするためには wait(long)
メソッドを呼び出します。
このメソッドを呼び出すことができるのは、オブジェクトのモニターを所有するスレッドでなければなりません。 モニターを所有するには以下の方法があります。
synchronized
宣言されたインスタンスメソッドを呼び出す。
synchronized
文を実行する(Ex. synchronized(this);
)。
Class
オブジェクトの場合はそのクラスの synchronized
宣言されたクラスメソッドを呼び出す。
再開したスレッドは、カレントのスレッドがオブジェクトのロックしつづける限り動作することはできません。 再開したスレッドがオブジェクトによる同期が必要な場合、他の競合する可能性のあるスレッドと通常の方法で競合します。 例えば、再開したスレッドがロックを獲得する順番待ちにおいて、不利にも有利にもなることもなりません。
なお、オブジェクトのモニターは1度に1つだけのスレッドが所有することができます。
このメソッドを呼び出したスレッドがモニターを所有していない場合は IllegalMonitorStateException
を throw します。
全てのスレッドを再開する場合は notifyAll()
メソッドを使用します。
IllegalMonitorStateException
- 呼び出したすレッドがオブジェクトのモニターを所有していない場合に throw します。notifyAll()
,
wait()
public final void notifyAll()
このオブジェクトのモニターによって待機中の全てのスレッドの実行を再開します。
スレッドは wait(long)
メソッドを呼び出すとオブジェクトのモニターの管理下で待機状態になります。
再開するスレッドが全てである点を除き、notify()
メソッドと同様です。
IllegalMonitorStateException
- 呼び出したすレッドがオブジェクトのモニターを所有していない場合に throw します。notifyAll()
,
wait()
public final void wait(long ms) throws InterruptedException
このメソッドを呼び出したスレッドを待機状態にします。
待機状態のスレッドは notify()
メソッドあるいは notifyAll()
メソッドによって再開します。
このメソッドを呼び出したスレッドは、このオブジェクトのモニターのオーナーでなければなりません。
モニターを所有する方法は notify()
メソッドを参照してください。
このメソッドが呼び出されると以下の処理を行います。
待機中のスレッドは以下のいずれかの条件で再開します。
0
が指定されていた場合は自動的に待機状態から戻ることはありません。
notify()
メソッドを呼び出し、その結果再開するスレッドとしてこのスレッドが選択された場合。
notifyAll()
メソッドを呼び出した場合。
スレッドの再開時には以下の処理が行われます。
その後、再開したスレッドは wait
メソッドから呼び出し元へ処理が返ります。
なお、CLDC では Thread
クラスに interrupt
メソッドが存在しないため、Java2 Platform, Standard Edition の様にスレッドが割り込まれることはありません。
ms
- 待機する時間をミリ秒で指定します。
IllegalArgumentException
- 待機する時間に負数が指定された場合に throw します。
IllegalMonitorStateException
- 呼び出したスレッドがモニターを所有していない場合に throw します。
InterruptedException
- CLDC では throw されません。Java2 Platform, Standard Edition との互換性のために定義されています。public final void wait(long ms, int ns) throws InterruptedException
このメソッドを呼び出したスレッドを待機状態にします。
待機状態のスレッドは notify()
メソッドあるいは notifyAll()
メソッドによって再開します。
このメソッドを呼び出したスレッドは、このオブジェクトのモニターのオーナーでなければなりません。
モニターを所有する方法は notify()
メソッドを参照してください。
パラメータにナノ秒の指定が行えることを除き、wait(long)
メソッドの呼び出しと等価です。
待機時間は指定された「ミリ秒+ナノ秒」となります。
なお、CLDC では Thread
クラスに interrupt
メソッドが存在しないため、java2 Platform, Standard Edition の様にスレッドが割り込まれることはありません。
ms
- 待機する時間をミリ秒で指定します。ns
- 待機する時間をナノ秒で指定します。
IllegalArgumentException
- 待機する時間に負数が指定された場合およびパラメータ ns
が 0
〜 999999
の範囲外の場合に throw します。
IllegalMonitorStateException
- 呼び出したスレッドがモニターを所有していない場合に throw します。
InterruptedException
- CLDC では throw されません。Java2 Platform, Standard Edition との互換性のために定義されています。public final void wait() throws InterruptedException
このメソッドを呼び出したスレッドを待機状態にします。
待機状態のスレッドは notify()
メソッドあるいは notifyAll()
メソッドによって再開します。
このメソッドを呼び出したスレッドは、このオブジェクトのモニターのオーナーでなければなりません。
モニターを所有する方法は notify()
メソッドを参照してください。
このメソッドの呼び出しは以下の記述と等価です。
wait(0);
なお、CLDC では Thread
クラスに interrupt
メソッドが存在しないため、java2 Platform, Standard Edition の様にスレッドが割り込まれることはありません。
IllegalMonitorStateException
- 呼び出したスレッドがモニターを所有していない場合に throw します。
InterruptedException
- CLDC では throw されません。Java2 Platform, Standard Edition との互換性のために定義されています。wait(long)
|
Unofficial "CLDC 1.0 + MIDP 1.0" API Reference. (日本語版) |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |