|
Escrito por Gerardo Valeri
|
|
miércoles, 11 de abril de 2007 |
public class A{
public void m1() {System.out.print("A.m1, ");}
protected void m2() {System.out.print("A.m2, ");}
private void m3() {System.out.print("A.m3, ");}
void m4() {System.out.print("A.m4, ");}
}
class B {
public static void main(String[] args) {
A a = new A();
a.m1(); // 1
a.m2(); // 2
a.m3(); // 3
a.m4(); // 4
}
}
Si se asume que el código aparece en un archivo llamado A.java ¿Cuál es el resultado de compilar y ejecutar este programa?
a. Imprime: A.m1, A.m2, A.m3, A.m4,
b. Error de compilación en la línea 1
c. Error de compilación en la línea 2
d. Error de compilación en la línea 3
e. Error de compilación en la línea 4
f. Ninguna de las anteriores
Respuesta:
d. Error de compilación en la línea 3
La clase A y B están decalaradas en el mismo archivo, por lo tanto en el mismo paquete, por lo tanto, la clase B tiene acceso a los métodos protected, public y default(cuando no tiene ninguno explícito, llamado también alcance de paquete) de la clase A.
|