METODE TANDA TANGAN TERMASUK JENIS PENGEMBALIAN.
Kompilator mengabaikannya ketika harus memeriksa duplikat. Untuk Java adalah ilegal untuk memiliki dua metode dengan tanda tangan yang dibedakan hanya dengan tipe kembalian.
Coba itu:
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();
}
}
Bangun proyek, buka direktori bin, salin Caller.cass di suatu tempat. Kemudian ubah metode yang dipanggil:
public int aMethod() {
return 0;
}
Bangun proyek, Anda akan melihat bahwa Called.class dan Caller.class memiliki stempel waktu baru. Ganti Caller.class di atas dan jalankan proyek. Anda akan memiliki pengecualian:
java.lang.NoSuchMethodError: it.prova.Called.aMethod()Ljava/lang/String;