Contenido de certificación
Buscar
Social
Ofertas laborales ES

Entries in OCA 8 (3)

domingo
jun112017

Interfaces, clases abstractas, métodos por defecto

¿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 prueba;

interface Interfaz1 {
	int VARIABLE = 10;

	void test1();

	default void test2() {
		System.out.println("Método por defecto de Interfaz1");
	}
}

interface Interfaz2 {
	static public final int VARIABLE = 20;

	abstract public void test1();

	public default void test2() {
		System.out.println("Método por defecto de Interfaz2");
	}
}

abstract class Clase1 implements Interfaz1, Interfaz2 {

	int variable;

	public void test1() {
		System.out.println("Método test1 de Clase1");
		return;
	}

	public void test2() {
		System.out.println("Método por defecto de Clase1");
	}

}

class Clase2 extends Clase1 {

	public static void main(String args[]) {

		Clase1 clase2 = new Clase2();
		System.out.println(clase2.variable);
		clase2.test1();
		clase2.test2();

		((Interfaz1) clase2).test1();
		((Interfaz2) clase2).test2();

	}

}


domingo
jun112017

Sobreescribiendo métodos.

¿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());
		}

	}
}

domingo
may212017

Gestión de excepciones.

¿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 pruebasExcepciones;

public class Pruebas {

	public static void pruebasExcepciones() {

		try {

			System.out.println(" 1) try ");
			lanzaExcepcion();

		} catch (Exception e) {

			System.out.println(" 2) catch ");
			throw e;

		} finally {
			System.out.println(" 3) finnaly ");
		}

	}

	public static void main(String[] args) {

		try {
			pruebasExcepciones();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

		System.out.println(" 4) main ");

	}

	public static void lanzaExcepcion() {
		throw new ArrayIndexOutOfBoundsException();
	}

}