Özet olmayan soyut bir soyut yöntem Anonim sınıf kullanılarak geçersiz kılınabilir mi? FindBugs aracı "Anonim sınıfın hesaplanamaz yöntemi" sorunu yayınlıyor. Lütfen daha fazla bilgi için aşağıdaki örneği kontrol edin:Anonim bir sınıf, soyut sınıfın soyut olmayan yöntemini uygulayabilir mi?
public class BaseClass {
// This class is a Library Class.
}
public abstract class AbstractBaseClass extends BaseClass {
public abstract void abstractMethod();
public void nonAbstractMethod() {}
}
public abstract class DerivedAbstractClass extends AbstractBaseClass {
// Here Some more additional methods has been added
}
public class DemoAbstract {
public static void main(String[] args) {
init();
}
private static void init() {
DerivedAbstractClass derivedAbstractClass = new DerivedAbstractClass() {
@Override
public void abstractMethod() {
}
@Override
public void nonAbstractMethod() {
// Is it possible to override like this?
}
};
}
}
Evet, bu mümkün. Bu tam örnek (kopyalanmış ve yapıştırılmış, hiç değişiklik yok) uyarı üretiyor mu? – immibis
Tabii ki bunu geçersiz kılabilirsiniz, ancak yapmasanız bile, anonim sınıf hala bir uygulama sağlar, bu yüzden daha iyi bir soru olur: anonim bir sınıf bu yöntemi uygulayamaz mı? – Stultuske
Merhaba immibis, Örneğimi düzenledim. Lütfen takip ettiğim örneği kontrol edin. –