2012-02-21 2 views
0

抽象クラスFactorizedDialogがあるとします。あなたは、私が実際にあるダイアログ(延長推測しているかもしれませんが匿名クラスのインスタンス化中にインタフェースを実装できますか?

FactorizedDialog dialog = new FactorizedDialog() { 

      @Override 
      public void myMethod() { 
       // implementation here 
      } 
} 

:それは

public abstract class FactorizedDialog extends Dialog { 

    public abstract void myMethod(); 
} 

今、私はこのような何かを行うことができます(これはほんの一部のダミー例であることに注意してください)このようになります私は匿名クラスを作成するときに私はそれを上書きすることができるので、それにメソッドを追加するだけです。派生抽象クラスを使用する代わりにDialogをインスタンス化する間にのJavaにインターフェイスを実装することは可能ですか?あなたはどちらかまたはインタフェースではなく、両方を拡張するために、通常のクラスを指定することができ、匿名内部クラスのスーパークラスを指定し

答えて

1

ありません。 section 15.9 of the JLSに示されている構文は、両方を許可しないだけです。

0

ここで、Dialogがインターフェイスであることを意味する場合は、はいできます。もちろん

Dialog dialog = new Dialog() { 

    @Override 
    public void myMethod() { 
    } 
} 

その後、myMethodの宣言はDialogインターフェイスに行く必要があります。

+0

私が言及したように、両方とも抽象クラスです。 –

+0

@edemはい、私は答えを投稿した後に気付きました。 – adarshr

関連する問題