3

基本クラス A に、その派生クラス B によってオーバーライドされていない「public synchronized void method(){}」がある場合、使用されるロックは何になりますか (つまり、派生クラス オブジェクトまたは基本クラス オブジェクトになります)。クラス B の同期メソッドにアクセスするには?

4

2 に答える 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 に答える