Ciao, cari Javarashiti. Sicuramente a tutti gli intervistati è stata posta una domanda sul polimorfismo. Quindi, sono interessato alla tua risposta e alla valutazione della tua risposta da parte dell'intervistatore. Ho avuto 2 mini-interviste in cui hanno chiesto informazioni sul polimorfismo e in ciascuna di esse l'intervistatore non era soddisfatto della mia risposta. In breve, la mia risposta si riduceva all'override e all'assegnazione di un riferimento alla classe genitore a un oggetto di una classe figlia. Qualcosa come questo:
class Parent{
void saySomething(){
System.out.println("Parent!");
}
}
class Child1 extends Parent{
@Override
void saySomething(){
System.out.println("Child1!");
}
}
class Child2 extends Parent{
@Override
void saySomething(){
System.out.println("Child2!");
}
}
class Test{
public static void main(String[] args){
Parent p1 = new Parent();
Parent p2 = new Child1();
Parent p3 = new Child2();
p1.saySomething();
p2.saySomething();
p3.saySomething();
}
}
---------------
Output:
Parent!
Child1!
Child2!
Questo è esattamente ciò che è scritto sul sito Oracle . Ivan Golovach afferma che il polimorfismo in Java viene implementato utilizzando l'ereditarietà (quello che ho mostrato nell'esempio) e utilizzando i generici. Allora, dov'è la verità e come rispondere a un'intervista? Presto ho un colloquio importante e non voglio sbagliare di nuovo su questa domanda apparentemente banale.
GO TO FULL VERSION