Contenido de certificación
Buscar
Social
Ofertas laborales ES

Entries in OCJA (2)

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?

01.package prueba;
02. 
03.interface Interfaz1 {
04.    int VARIABLE = 10;
05. 
06.    void test1();
07. 
08.    default void test2() {
09.        System.out.println("Método por defecto de Interfaz1");
10.    }
11.}
12. 
13.interface Interfaz2 {
14.    static public final int VARIABLE = 20;
15. 
16.    abstract public void test1();
17. 
18.    public default void test2() {
19.        System.out.println("Método por defecto de Interfaz2");
20.    }
21.}
22. 
23.abstract class Clase1 implements Interfaz1, Interfaz2 {
24. 
25.    int variable;
26. 
27.    public void test1() {
28.        System.out.println("Método test1 de Clase1");
29.        return;
30.    }
31. 
32.    public void test2() {
33.        System.out.println("Método por defecto de Clase1");
34.    }
35. 
36.}
37. 
38.class Clase2 extends Clase1 {
39. 
40.    public static void main(String args[]) {
41. 
42.        Clase1 clase2 = new Clase2();
43.        System.out.println(clase2.variable);
44.        clase2.test1();
45.        clase2.test2();
46. 
47.        ((Interfaz1) clase2).test1();
48.        ((Interfaz2) clase2).test2();
49. 
50.    }
51. 
52.}
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?

01.package pruebas.ocp;
02. 
03.import java.io.FileNotFoundException;
04.import java.io.IOException;
05. 
06.public class Padre {
07.    protected void hola() throws IOException {
08.        System.out.println("Hola, soy el Padre");
09.    };
10.}
11. 
12.class Hijo extends Padre {
13. 
14.    public void hola() throws FileNotFoundException {
15.        System.out.println("Hola, soy el Hijo");
16.    };
17. 
18.    public static void main(String args[]) {
19.        Padre padre = new Padre();
20.        try {
21.            padre.hola();
22.        } catch (IOException e) {
23.            System.out.println("Exception " + e.getMessage());
24.        }
25. 
26.        Hijo hijo = new Hijo();
27. 
28.        try {
29.            hijo.hola();
30.        } catch (FileNotFoundException e) {
31.            System.out.println("Exception " + e.getMessage());
32.        }
33. 
34.        Padre mixto = new Hijo();
35. 
36.        try {
37.            mixto.hola();
38.        } catch (IOException e) {
39.            System.out.println("Exception " + e.getMessage());
40.        }
41. 
42.    }
43.}