बेनामी क्लास का उपयोग कर एक सार वर्ग गैर अमूर्त विधि ओवरराइड किया जा सकता है? FindBugs टूल "अज्ञात वर्ग की अनुपलब्ध विधि" जारी कर रहा है। अधिक जानकारी के लिए कृपया नीचे दिए गए उदाहरण की जांच करेंक्या एक अज्ञात वर्ग अमूर्त वर्ग की गैर अमूर्त विधि को कार्यान्वित कर सकता है?
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?
}
};
}
}
हाँ, यह संभव है। क्या यह सटीक उदाहरण है (कॉपी और पेस्ट किया गया है, बिल्कुल कोई बदलाव नहीं) चेतावनी उत्पन्न करता है? – immibis
बेशक आप इसे ओवरराइड कर सकते हैं, लेकिन यदि आप नहीं करते हैं, तो भी अनाम वर्ग अभी भी एक कार्यान्वयन प्रदान करता है, इसलिए एक बेहतर सवाल होगा: क्या अज्ञात वर्ग इस विधि को लागू नहीं कर सकता है? – Stultuske
हैलो immibis, मैंने अपना उदाहरण संपादित किया है। कृपया सही उदाहरण देखें जो मैं अनुसरण कर रहा हूं। –