抽象Javaクラスを実装するには、一つのメソッドonMessage
を実装する必要があります。私はクロージャがas
キーワードを使ってJavaインターフェイスを簡単に実装できることを知っていますが、どのように抽象Javaクラスを拡張できますか?Groovyクロージャが抽象クラスを継承できるか
もしそれを拡張できないのなら、Groovyの場合に可能な限り最善の解決策はありますか?
これはJavaの私の使い方ですが、私はGroovyで行うことができる同様のものを探しています。
MessageCallback callback = new MessageCallback() {
@Override
public void onMessage(Message message) {
dosomething();
}
};
メッセージコールバックは、Groovyで同様の方法で使用したい抽象クラスです。
これでうまくいくはずです。実際、MessageCallbackには1つのメソッドしかない場合は、次のようにしてください:def callback = {message - > doSomething()} MessageCallbackとして –
@tim_yates messagecallbackクラスはメソッドが "done"閉包、私は欠落しているメソッドの例外があります。 Javaでは、私はdone()を使うだけで、Groovyで他の構文を使うべきですか? – Abe
ああ、Proxiedのクラスに戻ってくる必要があるのであれば、扱いにくいです...私は見て、空のメソッドを使って具象クラスを作成し、私が現在考えることができる唯一の他の解決策である「metaClass」 –