में लागू एक ही विधि हस्ताक्षर के साथ दो इंटरफेस मेरे पास दो जावा इंटरफेस और एक कार्यान्वयन वर्ग है।जावा क्लास
(मैं ग्रहण का इस्तेमाल किया है कार्यक्रम सीधे चलाने के लिए, और मैं किसी भी संकलक स्पष्ट रूप से कमांड लाइन से संकलन के द्वारा चेतावनी वगैरह की जाँच करने के। कोशिश नहीं की) क्यों वे समस्या के बिना चला सकता हूँ
? जावा इसे क्यों अनुमति देता है, भले ही यह दोनों इंटरफेस के "अनुबंध" को संतुष्ट करता है लेकिन कक्षा को कार्यान्वित करने में अस्पष्टता पैदा करता है?
उदाहरण अपडेट किया गया।
public interface CassettePlayer {
void play();
}
public interface DVDPlayer {
void play();
}
public class CarPlayer implements CassettePlayer,DVDPlayer{
@Override
public void play() {
System.out.println("This plays DVD, screw you Cassette !");
}
public static void main(String args[]) {
CarPlayer cp = new CarPlayer();
cp.play();
CassettePlayer firstInterface = new CarPlayer();
firstInterface.play();
DVDPlayer secondInterface = new CarPlayer();
secondInterface.play();
}
}
वे एक समस्या क्यों होना चाहिए साथ संगत नहीं है? यही सवाल है;) –
यदि आप कामना करते हैं तो आप 'SayHello' विधि के साथ एक अमूर्त वर्ग प्राप्त कर सकते हैं और' नमूना 'को अमूर्त वर्ग का विस्तार कर सकते हैं। कोई समस्या नहीं होगी। – emory
धन्यवाद दोस्त, मेरे पास एक ही सवाल था ... – orchidrudra