Sobreescribiendo métodos.
domingo, junio 11, 2017 at 8:18AM
jcarmonaloeches in OCA 8, OCJA, ocjp

¿Compilaría y ejecutaría el siguiente código? Si no compila, ¿por qué razón? Si ejecuta, ¿cuál sería la salida?

package pruebas.ocp;

import java.io.FileNotFoundException;
import java.io.IOException;

public class Padre {
	protected void hola() throws IOException {
		System.out.println("Hola, soy el Padre");
	};
}

class Hijo extends Padre {

	public void hola() throws FileNotFoundException {
		System.out.println("Hola, soy el Hijo");
	};

	public static void main(String args[]) {
		Padre padre = new Padre();
		try {
			padre.hola();
		} catch (IOException e) {
			System.out.println("Exception " + e.getMessage());
		}

		Hijo hijo = new Hijo();

		try {
			hijo.hola();
		} catch (FileNotFoundException e) {
			System.out.println("Exception " + e.getMessage());
		}

		Padre mixto = new Hijo();

		try {
			mixto.hola();
		} catch (IOException e) {
			System.out.println("Exception " + e.getMessage());
		}

	}
}

Article originally appeared on javaHispano (http://www.javahispano.org/).
See website for complete article licensing information.