¿Salida del siguiente programa Java?
class Base { public void show() { System.out.println("Base::show() called"); } } class Derived extends Base { public void show() { System.out.println("Derived::show() called"); } } public class Main { public static void main(String[] args) { Base b = new Derived();; b.show(); } }
(A) Derivado::show() llamado
(B) Base::show() llamado
Respuesta: (A)
Explicación: En el programa anterior, b es una referencia de tipo Base y se refiere a un objeto de clase Derivado.
En Java, las funciones son virtuales por defecto. Entonces ocurre el polimorfismo en tiempo de ejecución y se llama fun() derivado.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA