基本クラス A に、その派生クラス B によってオーバーライドされていない「public synchronized void method(){}」がある場合、使用されるロックは何になりますか (つまり、派生クラス オブジェクトまたは基本クラス オブジェクトになります)。クラス B の同期メソッドにアクセスするには?
質問する
670 次
2 に答える
4
「基本クラス オブジェクト」はありません。
synchronized
メソッドは、呼び出されたインスタンスをロックします。
于 2013-11-07T18:34:06.223 に答える
0
public synchronized void method() {
...
};
とまったく同じです
public void method() {
synchronized(this){
...
}
};
スーパーメソッドthis
の場合、 class のオブジェクトを意味しますB
。したがって、ロックはオブジェクトのインスタンスになりますB
。
于 2013-11-07T22:20:31.150 に答える