Olá, queridos Javarashitas. Certamente todos os entrevistados responderam a uma pergunta sobre polimorfismo. Portanto, estou interessado na sua resposta e na avaliação da sua resposta por parte do entrevistador. Fiz 2 mini-entrevistas onde perguntaram sobre polimorfismo e em cada uma delas o entrevistador não gostou da minha resposta. Resumindo, minha resposta se resumiu a substituir e atribuir uma referência de classe pai a um objeto de uma classe filha. Algo assim:
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!
Isso é exatamente o que está escrito no site da Oracle . Ivan Golovach diz que o polimorfismo em Java é implementado usando herança (o que mostrei no exemplo) e genéricos. Então, onde está a verdade e como responder numa entrevista? Tenho uma entrevista importante em breve e não quero errar novamente nesta questão aparentemente básica.
GO TO FULL VERSION