मान लें कि मेरे पास Foo
एक इंटरफ़ेस लागू करने जैसे MouseListener
है। MouseListener
इंटरफ़ेस में पांच विधियां हैं लेकिन मैं केवल उनमें से एक को ओवरराइड करना चाहता हूं (mouseClicked()
)। क्या अन्य तरीकों को स्वरूपित करने का एक मानक, बेवकूफ तरीका है?क्या रिक्त विधियों के लिए जावा में एक मुहावरे है जो इंटरफ़ेस को संतुष्ट करने के लिए मौजूद है?
@Override
public void mouseClicked(MouseEvent e) {
// (...) <-- actual code here
}
@Override
public void mouseEntered(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
@Override
public void mouseExited(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
@Override
public void mousePressed(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
@Override
public void mouseReleased(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
मैं इसे स्पष्ट है कि तरीकों जानबूझकर खाली कर रहे हैं के बजाय गलती से तो छोड़ दिया बनाने के एक प्रशंसक हूँ, लेकिन मैं सभी ऊर्ध्वाधर अंतरिक्ष के बारे में पागल नहीं हूँ:
मेरे झुकाव निम्नलिखित लिखने के लिए था मूल रूप से कुछ भी के लिए छोड़ दिया। मैं भी निम्न स्वरूप देखा है:
public void mouseClicked(MouseEvent e) {
// (...) <-- actual code here
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
मैं आम तौर पर इससे कोई समस्या नहीं है और मुझे लेखक की मंशा को समझते हैं, लेकिन जब (recommended) @Override
एनोटेशन जोड़ रहे हैं यह वास्तव में बदसूरत हो जाता है।
मैं विशेष रूप से अनुभवी जावा कोडर नहीं हूं इसलिए मुझे लगा कि मैं पूछूंगा कि कोई सम्मेलन था या नहीं। विचार?
आप MouseAdapter क्लास से अवगत हैं, है ना? http://java.sun.com/javase/6/docs/api/java/awt/event/MouseAdapter.html –