METHOD SIGNATURE RETURN TYPE को शामिल करता है।
जब डुप्लिकेट की जांच करनी होती है, तो कंपाइलर इसे अनदेखा कर देता है। जावा के लिए केवल दो प्रकार के हस्ताक्षर के साथ रिटर्न प्रकार से भिन्न होना अवैध है।
उसकी कोशिश करो:
public class Called {
public String aMethod() {
return "";
}
}
public class Caller {
public static void main(String[] main) {
aMethod();
}
public static void aMethod() {
Called x = new Called();
x.aMethod();
}
}
प्रोजेक्ट बनाएँ, बिन डायरेक्टरी पर जाएँ, Caller.cass को कहीं कॉपी करें । फिर कॉल की गई विधि बदलें:
public int aMethod() {
return 0;
}
प्रोजेक्ट बनाएँ, आप देखेंगे कि Called.class और Caller.class दोनों के पास एक नया टाइमस्टैम्प है। ऊपर Caller.class को बदलें और प्रोजेक्ट चलाएँ। आपके पास एक अपवाद होगा:
java.lang.NoSuchMethodError: it.prova.Called.aMethod()Ljava/lang/String;