public class OverloadingTest extends Format{
public int add(String s1){
System.out.println("With String");
return 1;
}
public int add(Object a){
System.out.println("With Object");
return 1;
}
public static void main(String[] args) {
OverloadingTest overloadingTest = new OverloadingTest();
overloadingTest.add(null);
}
}
Perché l'output del programma With String ?
Perché è l'uscita del programma?
ho provato leggendo JLS per il 6 ° versione, ma ancora non riusciva a trovare la risposta.
L'unica ragione che posso indovinare è che viene scelta la corrispondenza più vicina nella gerarchia di ereditarietà.
Quindi in questo caso ci vorrebbe String come Object è la sua super classe.
È risposto alla tua domanda :) –
La classe sub subber è sempre scelto .... – Thihara
@Deepak Bala Oh grande. Ma hai qualche riferimento o documentazione che possa indicarlo? – Sam