Uygulanacak bir yöntem onMessage
olması gereken soyut bir Java sınıfım var. Bir kapanışın, as
anahtar sözcüğünü kullanarak bir Java arayüzünü kolayca uygulayabildiğini biliyorum, ancak soyut bir Java sınıfını nasıl genişletebilirim?Bir Groovy kapatma, bir soyut sınıf genişletebilir
Genişletemezse, bu durumda Groovy'deki olası en iyi çalışma nedir?
İşte Java'daki kullanımım, Groovy'de yapılabilecek benzer bir şey arıyorum.
MessageCallback callback = new MessageCallback() {
@Override
public void onMessage(Message message) {
dosomething();
}
};
mesajı geri arama ben Groovy benzer bir şekilde kullanmak istiyorum benim soyut sınıftır
.
Çalışması gerekir. Aslında, MessageCallback'in yalnızca bir yöntemi varsa, bunu yalnızca yapabilirsiniz: def callback = {message -> doSomething()} MessageCallback olarak –
@tim_yates Kısmen çalıştı, messagecallback sınıfının içinde çalıştığım bir "done" yöntemi vardı. Kapatma, eksik yöntem istisnası var. Java'da sadece kullanıyorum(), Groovy'de başka bir sözdizimini kullanmalı mıyım? – Abe
Ahhh, eğer Proxied sınıfına geri dönmeniz gerekiyorsa, işler zorlaşıyor ... Boş bir yöntemle somut bir sınıf yazmaktan daha iyi bir şeyle gelip gelemeyeceğimi görüp, sonra bunları üzerine yazacağım. metaClass' (şu anda düşünebildiğim tek diğer çözüm) –